diff --git a/shop/components/HomeClient.tsx b/shop/components/HomeClient.tsx
index 1f9dbac..d96ede8 100644
--- a/shop/components/HomeClient.tsx
+++ b/shop/components/HomeClient.tsx
@@ -18,9 +18,18 @@ import {
Zap,
ArrowUpRight,
ShieldCheck,
+ Calendar,
Sparkles,
Activity
} from 'lucide-react'
+import {
+ Dialog,
+ DialogContent,
+ DialogHeader,
+ DialogTitle,
+ DialogDescription,
+ DialogFooter,
+} from '@/components/ui/dialog'
interface HomeClientProps {
initialUser: User | null
@@ -29,6 +38,7 @@ interface HomeClientProps {
export function HomeClient({ initialUser }: HomeClientProps) {
const [user, setUser] = useState(initialUser)
const [mounted, setMounted] = useState(false)
+ const [calendarOpen, setCalendarOpen] = useState(false)
useEffect(() => {
setMounted(true)
@@ -125,23 +135,23 @@ export function HomeClient({ initialUser }: HomeClientProps) {
Mein Dashboard Schnellzugriff
-
+
-
-
-
+
+
+
Kundenliste
- Kunden & Lizenzen verwalten
+ Verwalten
-
+
@@ -149,20 +159,42 @@ export function HomeClient({ initialUser }: HomeClientProps) {
-
-
-
+
+
+
Bestellungen
- Aufträge & Status einsehen
+ Status einsehen
-
+
+
+
@@ -171,6 +203,52 @@ export function HomeClient({ initialUser }: HomeClientProps) {
+ {/* Dialog / Popup für Termin-Kalender (Geplant) */}
+
+
{/* Grid of modules */}
diff --git a/shop/components/order-wizard.tsx b/shop/components/order-wizard.tsx
index 7bb34ab..9cd62f4 100644
--- a/shop/components/order-wizard.tsx
+++ b/shop/components/order-wizard.tsx
@@ -179,7 +179,7 @@ export function OrderWizard({
return 'one_time'
})
- // Falls "one_time" (Kauf) gewählt: optionales Datum der letzten CAS-Lizenzierung
+ // Falls "one_time" (Kauf) gewählt: optionales Datum der letzten CASPOS-Lizenzierung
const [lastLicenseDate, setLastLicenseDate] = useState
(
initialOrder?.order_data?.last_license_date || ''
)
@@ -608,7 +608,7 @@ export function OrderWizard({
setEditingIdx(null)
setModuleQuantities({})
setDeviceName('')
-
+
const resetSels: Record = {}
categories.forEach(cat => {
const isVisible = selectedBillingInterval === 'one_time' ? cat.show_in_kauf !== false : cat.show_in_abo !== false
diff --git a/shop/components/wizard/license-lookup-panel.tsx b/shop/components/wizard/license-lookup-panel.tsx
index edab1ab..8e50802 100644
--- a/shop/components/wizard/license-lookup-panel.tsx
+++ b/shop/components/wizard/license-lookup-panel.tsx
@@ -25,12 +25,21 @@ import { lookupLicenseFromLicServer } from '@/lib/actions/licserver-config'
// ─── MOCK DATA (until real LicServer API is wired up) ───────────────────────
const MOCK_LICENSES: Record = {
+<<<<<<< HEAD
'995500-0005': {
licenseKey: '995500-0005',
status: 'active',
product: 'CASPOS DEMO',
edition: 'Professional',
version: '14.1.2',
+=======
+ '995502-00': {
+ licenseKey: '995502-00',
+ status: 'active',
+ product: 'CASPOS',
+ edition: 'GASTRO',
+ version: '4.8.6',
+>>>>>>> 086a893e19593863f6b2044374187220cc3e392d
seats: 10,
customer: 'Mustermann GmbH',
contact: 'Max Mustermann',
@@ -39,6 +48,7 @@ const MOCK_LICENSES: Record = {
maintenanceUntil: '2025-03-31',
modules: ['CRM', 'ERP-Link', 'Mobile Client', 'Web Client'],
},
+<<<<<<< HEAD
'CAS-2020-STD-00456': {
licenseKey: 'CAS-2020-STD-00456',
status: 'expired',
@@ -66,6 +76,35 @@ const MOCK_LICENSES: Record = {
expiresAt: '2026-12-31',
maintenanceUntil: '2026-12-31',
modules: ['CRM', 'ERP-Link', 'Mobile Client', 'Web Client', 'AI Assistant', 'Analytics Pro'],
+=======
+ '995501-00': {
+ licenseKey: '995501-00',
+ status: 'expired',
+ product: 'CASPOS Handel',
+ edition: 'Standard',
+ version: '3.12.1',
+ seats: 1,
+ customer: 'Beispiel AG',
+ contact: 'Erika Muster',
+ issuedAt: '2016-03-14',
+ expiresAt: '2017-03-14',
+ maintenanceUntil: '2017-03-14',
+ modules: ['CASPOS Handel'],
+ },
+ '995500-00': {
+ licenseKey: '995500-00',
+ status: 'active',
+ product: 'CASPOS Handel',
+ edition: 'Standard',
+ version: '4.11.2',
+ seats: 2,
+ customer: 'Tech Solutions GmbH & Co. KG',
+ contact: 'Julia Schneider',
+ issuedAt: '2026-01-01',
+ expiresAt: '2027-12-31',
+ maintenanceUntil: '2027-12-31',
+ modules: ['CASPOS Handel'],
+>>>>>>> 086a893e19593863f6b2044374187220cc3e392d
},
}
@@ -224,7 +263,7 @@ export function LicenseLookupPanel({ onLicenseResolved }: LicenseLookupPanelProp
{/* ── Input + Search Button ──────────────────────────────── */}
- Geben Sie Ihre bisherige CAS-Lizenznummer ein,
+ Geben Sie Ihre bisherige CASPOS-Lizenznummer ein,
um Lizenzinformationen automatisch abzurufen.
@@ -278,16 +317,28 @@ export function LicenseLookupPanel({ onLicenseResolved }: LicenseLookupPanelProp
Demo:
setLicenseKey('995500-00')}
>
995500-00
+=======
+ onClick={() => setLicenseKey('995502-00')}
+ >
+ 995502-00
+>>>>>>> 086a893e19593863f6b2044374187220cc3e392d
{' · '}
setLicenseKey('995500-01')}
>
995500-01
+=======
+ onClick={() => setLicenseKey('995501-00')}
+ >
+ 995500-00
+>>>>>>> 086a893e19593863f6b2044374187220cc3e392d
diff --git a/shop/components/wizard/step-billing.tsx b/shop/components/wizard/step-billing.tsx
index 5f86aea..42ef238 100644
--- a/shop/components/wizard/step-billing.tsx
+++ b/shop/components/wizard/step-billing.tsx
@@ -44,11 +44,10 @@ export function StepBilling({
{/* Option 1: Kauf */}
handleBillingIntervalChange('one_time')}
- className={`relative p-6 rounded-2xl border-2 cursor-pointer transition-all duration-300 flex flex-col justify-between h-48 hover:shadow-[0_0_20px_rgba(255,255,255,0.05)] ${
- selectedBillingInterval === 'one_time'
+ className={`relative p-6 rounded-2xl border-2 cursor-pointer transition-all duration-300 flex flex-col justify-between h-48 hover:shadow-[0_0_20px_rgba(255,255,255,0.05)] ${selectedBillingInterval === 'one_time'
? 'border-primary bg-primary/10 shadow-[0_0_25px_rgba(59,130,246,0.2)]'
: 'border-white/5 bg-white/5 hover:border-white/20'
- }`}
+ }`}
>
@@ -71,11 +70,10 @@ export function StepBilling({
{/* Option 2: Abo */}
handleBillingIntervalChange('monthly')}
- className={`relative p-6 rounded-2xl border-2 cursor-pointer transition-all duration-300 flex flex-col justify-between h-48 hover:shadow-[0_0_20px_rgba(255,255,255,0.05)] ${
- selectedBillingInterval === 'monthly'
+ className={`relative p-6 rounded-2xl border-2 cursor-pointer transition-all duration-300 flex flex-col justify-between h-48 hover:shadow-[0_0_20px_rgba(255,255,255,0.05)] ${selectedBillingInterval === 'monthly'
? 'border-primary bg-primary/10 shadow-[0_0_25px_rgba(59,130,246,0.2)]'
: 'border-white/5 bg-white/5 hover:border-white/20'
- }`}
+ }`}
>