From edb5873e33b816ed4aa4de7c88bbb027ed0b1ed2 Mon Sep 17 00:00:00 2001 From: DanielS Date: Tue, 11 Aug 2026 22:56:01 +0200 Subject: [PATCH] feat(wizard): add confirmation dialog when clicking next with unsaved cash register selection --- shop/components/wizard/summary-sidebar.tsx | 64 +++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/shop/components/wizard/summary-sidebar.tsx b/shop/components/wizard/summary-sidebar.tsx index 9919432..252d376 100644 --- a/shop/components/wizard/summary-sidebar.tsx +++ b/shop/components/wizard/summary-sidebar.tsx @@ -81,6 +81,26 @@ export function SummarySidebar({ prevStep, }: SummarySidebarProps) { const [isOpen, setIsOpen] = React.useState(false) + const [isSavePromptOpen, setIsSavePromptOpen] = React.useState(false) + + const handleNextClick = () => { + if (hasActiveSelection) { + setIsSavePromptOpen(true) + } else { + nextStep() + } + } + + const handleSaveAndNext = async () => { + await addToBasket() + setIsSavePromptOpen(false) + nextStep() + } + + const handleDiscardAndNext = () => { + setIsSavePromptOpen(false) + nextStep() + } const [selectedBasketIdx, setSelectedBasketIdx] = React.useState(null) // When editing a basket item via pencil, open the modal for that item @@ -340,7 +360,7 @@ export function SummarySidebar({ + {basketItems.length > 0 && ( + + )} + + + + ) }