From cca751752d27da67fe88ad2af1be5c609588a9f8 Mon Sep 17 00:00:00 2001 From: Batmanisko Date: Thu, 7 May 2026 07:19:50 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20poplatky=20d=C4=9Bleny=20v=C5=A1emi=20(v?= =?UTF-8?q?=C4=8Detn=C4=9B=20pl=C3=A1tce),=20p=C5=99ejmenov=C3=A1n=C3=AD?= =?UTF-8?q?=20D=C3=BD=C5=A1ko=20=E2=86=92=20Poplatek?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/components/modals/PayForAllModal.tsx | 14 +++++++------- client/src/components/modals/PayForGroupModal.tsx | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/client/src/components/modals/PayForAllModal.tsx b/client/src/components/modals/PayForAllModal.tsx index 29e7d78..f437625 100644 --- a/client/src/components/modals/PayForAllModal.tsx +++ b/client/src/components/modals/PayForAllModal.tsx @@ -84,13 +84,13 @@ export default function PayForAllModal({ isOpen, onClose, locationName, location if (includedDiners.length === 0) return 0; const tip = parseAmount(tipTotal); if (tip === null || tip === 0) return 0; - return Math.round((tip / includedDiners.length) * 100) / 100; + const totalPeople = includedDiners.length + 1; // +1 for payer + return Math.round((tip / totalPeople) * 100) / 100; })(); const getTotal = (d: DinerEntry): number => { const surcharge = parseAmount(d.surchargeAmount) ?? 0; - const tip = d.included && d.login !== payerLogin ? tipPerPerson : 0; - return Math.round((d.baseAmount + surcharge + tip) * 100) / 100; + return Math.round((d.baseAmount + surcharge + tipPerPerson) * 100) / 100; }; const handleInclude = useCallback((login: string, checked: boolean) => { @@ -167,7 +167,7 @@ export default function PayForAllModal({ isOpen, onClose, locationName, location ) : ( <> -

Zaplatili jste za skupinu v restauraci. Nastavte příplatky a dýško, poté vygenerujte QR kódy pro ostatní.

+

Zaplatili jste za skupinu v restauraci. Nastavte příplatky a společné poplatky, poté vygenerujte QR kódy pro ostatní.

{!hasMenu && ( @@ -194,7 +194,7 @@ export default function PayForAllModal({ isOpen, onClose, locationName, location Strávník Jídla Příplatek - Dýško + Poplatek Celkem @@ -248,7 +248,7 @@ export default function PayForAllModal({ isOpen, onClose, locationName, location - {!isPayer && d.included ? `${tipPerPerson} Kč` : '—'} + {tipPerPerson > 0 ? `${tipPerPerson} Kč` : '—'} {`${total} Kč`} @@ -260,7 +260,7 @@ export default function PayForAllModal({ isOpen, onClose, locationName, location
- + { const surcharge = parseAmount(d.surchargeAmount) ?? 0; - const tip = d.included && d.login !== payerLogin ? tipPerPerson : 0; - return Math.round((d.baseAmount + surcharge + tip) * 100) / 100; + return Math.round((d.baseAmount + surcharge + tipPerPerson) * 100) / 100; }; const handleInclude = useCallback((login: string, checked: boolean) => { @@ -139,7 +139,7 @@ export default function PayForGroupModal({ isOpen, onClose, group, payerLogin, b ) : ( <> -

Zaplatili jste za skupinu. Nastavte příplatky a dýško, poté vygenerujte QR kódy pro ostatní.

+

Zaplatili jste za skupinu. Nastavte příplatky a společné poplatky, poté vygenerujte QR kódy pro ostatní.

{error && ( setError(null)} dismissible> @@ -154,7 +154,7 @@ export default function PayForGroupModal({ isOpen, onClose, group, payerLogin, b Člen Základ (Kč) Příplatek - Dýško + Poplatek Celkem @@ -203,7 +203,7 @@ export default function PayForGroupModal({ isOpen, onClose, group, payerLogin, b
- {!isPayer && d.included ? `${tipPerPerson} Kč` : '—'} + {tipPerPerson > 0 ? `${tipPerPerson} Kč` : '—'} {`${total} Kč`} @@ -215,7 +215,7 @@ export default function PayForGroupModal({ isOpen, onClose, group, payerLogin, b
- +