diff --git a/src/pages/menu/components/ProductPreviewDialog/ProductPreviewDialog.tsx b/src/pages/menu/components/ProductPreviewDialog/ProductPreviewDialog.tsx index 47c9686..aa8a5db 100644 --- a/src/pages/menu/components/ProductPreviewDialog/ProductPreviewDialog.tsx +++ b/src/pages/menu/components/ProductPreviewDialog/ProductPreviewDialog.tsx @@ -28,7 +28,7 @@ export function ProductPreviewDialog({ minWidth: "80vw", }} > - + ); } diff --git a/src/pages/product/components/ProductFooter.tsx b/src/pages/product/components/ProductFooter.tsx index eb2faa3..e0f28a3 100644 --- a/src/pages/product/components/ProductFooter.tsx +++ b/src/pages/product/components/ProductFooter.tsx @@ -20,6 +20,7 @@ export default function ProductFooter({ selectedExtras, selectedGroups, quantity, + onClose, }: { product: Product; isValid?: boolean; @@ -27,6 +28,7 @@ export default function ProductFooter({ selectedExtras: string[]; selectedGroups: string[]; quantity: number; + onClose?: () => void; }) { const { t } = useTranslation(); const dispatch = useAppDispatch(); @@ -34,6 +36,7 @@ export default function ProductFooter({ const { specialRequest } = useAppSelector(selectCart); const [isSpecialRequestOpen, setIsSpecialRequestOpen] = useState(false); const { isMobile, isDesktop } = useBreakPoint(); + const { isRTL } = useAppSelector((state) => state.locale); // Check if product has any customization options const hasCustomizationOptions = useMemo(() => { @@ -71,7 +74,10 @@ export default function ProductFooter({ }), ); // Navigate back to menu - scroll position will be restored automatically - window.history.back(); + if (!isDesktop) window.history.back(); + else { + onClose?.(); + } } }; @@ -101,7 +107,7 @@ export default function ProductFooter({ : { position: "absolute", bottom: 0, - left: 0, + [isRTL ? "right" : "left"]: 0, width: hasCustomizationOptions ? "50%" : "100%", }), height: "10vh", diff --git a/src/pages/product/page.tsx b/src/pages/product/page.tsx index 5ddc5cb..f0a3ac4 100644 --- a/src/pages/product/page.tsx +++ b/src/pages/product/page.tsx @@ -18,7 +18,7 @@ import ProductFooter from "./components/ProductFooter"; import Variants from "./components/Variants"; import styles from "./product.module.css"; -export default function ProductDetailPage() { +export default function ProductDetailPage({ onClose }: { onClose: () => void }) { const { isRTL } = useAppSelector((state) => state.locale); const { isDesktop } = useBreakPoint(); const [quantity, setQuantity] = useState(1); @@ -277,6 +277,7 @@ export default function ProductDetailPage() { selectedExtras={selectedExtras} selectedGroups={Object.values(selectedExtrasByGroup).flat()} quantity={quantity} + onClose={onClose} /> )}