Compare commits

..

2 Commits

Author SHA1 Message Date
179bca3e9f hide cancel order btn open closing order 2026-01-14 15:56:40 +03:00
e87c3e0783 calcualte tax before sending it 2026-01-14 15:56:16 +03:00
2 changed files with 44 additions and 28 deletions

View File

@@ -115,14 +115,15 @@ export default function useOrder() {
? `${location?.lat},${location?.lng}` ? `${location?.lat},${location?.lng}`
: "", : "",
delivery_address: location?.address, delivery_address: location?.address,
vatvalue: restaurant?.vat || 0, vatvalue: ((restaurant?.vat || 0) / 100) * (subtotal - discountAmount),
taxes: taxes:
restaurant?.taxes?.map((t) => ({ restaurant?.taxes
?.filter((t) => t.is_active === 1)
.map((t) => ({
tax_id: t.id, tax_id: t.id,
percentage: t.percentage, percentage: t.percentage,
amount: amount:
((typeof t.percentage === "number" ? t.percentage : 0) as number) * ((Number(t.percentage) || 0) / 100) * (subtotal - discountAmount),
Number(subtotal - discountAmount),
})) || [], })) || [],
...(orderType === OrderType.Gift ...(orderType === OrderType.Gift
? { ? {

View File

@@ -49,7 +49,10 @@ export default function OrderPage() {
const hasRefetchedRef = useRef(false); const hasRefetchedRef = useRef(false);
const [isOpen, setIsOpen] = useState(false); const [isOpen, setIsOpen] = useState(false);
const [isRateOrderOpen, setIsRateOrderOpen] = useState(false); const [isRateOrderOpen, setIsRateOrderOpen] = useState(false);
const [isSplitBillParticipantsBottomSheetOpen, setIsSplitBillParticipantsBottomSheetOpen] = useState(false); const [
isSplitBillParticipantsBottomSheetOpen,
setIsSplitBillParticipantsBottomSheetOpen,
] = useState(false);
const { data: orderDetails } = useGetOrderDetailsQuery( const { data: orderDetails } = useGetOrderDetailsQuery(
{ {
orderID: orderId || "", orderID: orderId || "",
@@ -75,6 +78,10 @@ export default function OrderPage() {
(status) => status?.alias === "closed", (status) => status?.alias === "closed",
); );
const hasCanceledByCustomerStatus = orderDetails?.status?.some(
(status) => status?.alias === "canceled_by_customer",
);
// Reset refetch flag when orderId changes // Reset refetch flag when orderId changes
useEffect(() => { useEffect(() => {
hasRefetchedRef.current = false; hasRefetchedRef.current = false;
@@ -508,7 +515,7 @@ export default function OrderPage() {
display: "flex", display: "flex",
flexDirection: "column", flexDirection: "column",
marginBottom: 9, marginBottom: 9,
gap: 2 , gap: 2,
}} }}
> >
<ProText <ProText
@@ -539,8 +546,10 @@ export default function OrderPage() {
</> </>
} }
> >
<div className={styles.inviteToBill} <div
onClick={() => setIsSplitBillParticipantsBottomSheetOpen(true)}> className={styles.inviteToBill}
onClick={() => setIsSplitBillParticipantsBottomSheetOpen(true)}
>
<Button <Button
shape="circle" shape="circle"
iconPlacement="start" iconPlacement="start"
@@ -662,9 +671,12 @@ export default function OrderPage() {
onClose={() => setIsRateOrderOpen(false)} onClose={() => setIsRateOrderOpen(false)}
/> />
{!hasClosedStatus && <CancelOrderBottomSheet />} {!hasClosedStatus ||
(hasCanceledByCustomerStatus && <CancelOrderBottomSheet />)}
</Layout.Content> </Layout.Content>
{hasClosedStatus && (
{hasClosedStatus ||
(hasCanceledByCustomerStatus && (
<Layout.Footer className={styles.checkoutButtonContainer}> <Layout.Footer className={styles.checkoutButtonContainer}>
<Button <Button
type="primary" type="primary"
@@ -677,9 +689,12 @@ export default function OrderPage() {
{t("order.newOrder")} {t("order.newOrder")}
</Button> </Button>
</Layout.Footer> </Layout.Footer>
)} ))}
</Layout> </Layout>
<SplitBillParticipantsBottomSheet isOpen={isSplitBillParticipantsBottomSheetOpen} onClose={() => setIsSplitBillParticipantsBottomSheetOpen(false)} /> <SplitBillParticipantsBottomSheet
isOpen={isSplitBillParticipantsBottomSheetOpen}
onClose={() => setIsSplitBillParticipantsBottomSheetOpen(false)}
/>
</> </>
); );
} }