fix(wizard): fix UI/UX and usability glitches

- constrain viewport height on wizard routes in HeaderWrapper

- remove nested scrollbar in step-software

- add active module glows and tooltips for locked licenses

- show device name badge in step 3 card header when editing

- update main action button text in summary sidebar when editing

- implement double-click inline delete confirmation in step-summary

- animate customer accordion and add tab-index key bindings
This commit is contained in:
DanielS
2026-08-20 17:16:25 +02:00
parent ea1906f9e4
commit e0d9c1d20e
6 changed files with 84 additions and 35 deletions

View File

@@ -70,6 +70,8 @@ export function StepSummary({
onAddNewBasketItem,
onDeleteBasketItem,
}: StepSummaryProps) {
const [confirmDeleteIdx, setConfirmDeleteIdx] = React.useState<number | null>(null)
return (
<div className="grid grid-cols-1 lg:grid-cols-12 gap-6 h-full items-stretch text-left">
{/* LINKER BEREICH: Scrollbares Bedienfeld */}
@@ -211,16 +213,26 @@ export function StepSummary({
{onDeleteBasketItem && (
<Button
type="button"
variant="ghost"
variant={confirmDeleteIdx === itemIdx ? "destructive" : "ghost"}
size="sm"
onClick={(e) => {
e.stopPropagation()
onDeleteBasketItem(itemIdx)
if (confirmDeleteIdx === itemIdx) {
onDeleteBasketItem(itemIdx)
setConfirmDeleteIdx(null)
} else {
setConfirmDeleteIdx(itemIdx)
}
}}
className="h-7 px-2 text-xs text-slate-400 hover:text-red-400 hover:bg-red-500/20 gap-1 rounded-lg"
title="Kasse löschen"
onMouseLeave={() => setConfirmDeleteIdx(null)}
className={`h-7 px-2 text-xs transition-all ${
confirmDeleteIdx === itemIdx
? 'bg-red-600 text-white hover:bg-red-700 font-bold px-3 shadow-[0_0_10px_rgba(220,38,38,0.5)]'
: 'text-slate-400 hover:text-red-400 hover:bg-red-500/20'
} gap-1 rounded-lg`}
>
<Icons.Trash2 className="w-3 h-3" /> Löschen
<Icons.Trash2 className="w-3.5 h-3.5" />
{confirmDeleteIdx === itemIdx ? 'Wirklich löschen?' : 'Löschen'}
</Button>
)}
</div>