feat: add unique license number check for devices

This commit is contained in:
DanielS
2026-08-10 23:37:09 +02:00
parent 60b9bd89ef
commit af261ce923
5 changed files with 103 additions and 4 deletions

View File

@@ -32,6 +32,8 @@ interface SummarySidebarProps {
deleteBasketItem: (idx: number) => void
deviceName: string
setDeviceName: (name: string) => void
licenseNumber: string
setLicenseNumber: (num: string) => void
addToBasket: () => void
isNextStepDisabled: boolean
hasActiveSelection: boolean
@@ -62,6 +64,8 @@ export function SummarySidebar({
deleteBasketItem,
deviceName,
setDeviceName,
licenseNumber,
setLicenseNumber,
addToBasket,
isNextStepDisabled,
hasActiveSelection,
@@ -231,7 +235,10 @@ export function SummarySidebar({
<div key={idx} className={`flex justify-between items-center text-xs bg-white/5 p-2 rounded border transition-all duration-300 ${idx === editingIdx ? 'border-blue-500/50 shadow-[0_0_10px_rgba(59,130,246,0.3)]' : 'border-white/10'}`}>
<div className="flex flex-col">
<span className="text-white font-medium">{item.deviceName}</span>
<span className="text-[10px] text-slate-400 capitalize">{item.billingInterval === 'one_time' ? 'Kauf' : 'Abo'}</span>
<span className="text-[10px] text-slate-400 capitalize">
{item.billingInterval === 'one_time' ? 'Kauf' : 'Abo'}
{item.licenseNumber ? ` · Lizenz: ${item.licenseNumber}` : ''}
</span>
</div>
<div className="flex items-center gap-1.5">
<Button
@@ -272,6 +279,16 @@ export function SummarySidebar({
className="bg-white/5 border-white/10 text-white text-xs h-9 rounded-lg"
/>
</div>
<div className="w-full space-y-2">
<Label htmlFor="license-number" className="text-xs text-slate-400">Lizenznummer (optional)</Label>
<Input
id="license-number"
placeholder="z.B. LIZ-12345"
value={licenseNumber}
onChange={e => setLicenseNumber(e.target.value)}
className="bg-white/5 border-white/10 text-white text-xs h-9 rounded-lg"
/>
</div>
<Button
type="button"
variant="outline"