@salla.sa/twilight-theme-engine 1.0.54 → 1.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AddToCartForm-ZMGIDWJ2.js → AddToCartForm-QKJ72MFV.js} +3 -3
- package/dist/{AddToCartForm-ZMGIDWJ2.js.map → AddToCartForm-QKJ72MFV.js.map} +1 -1
- package/dist/{BlogAuthorPage-SPCVIGER.js → BlogAuthorPage-75HKHV53.js} +6 -6
- package/dist/{BlogAuthorPage-SPCVIGER.js.map → BlogAuthorPage-75HKHV53.js.map} +1 -1
- package/dist/{BlogCategoryPage-2R2U4UVZ.js → BlogCategoryPage-R7QE3DNT.js} +6 -6
- package/dist/{BlogCategoryPage-2R2U4UVZ.js.map → BlogCategoryPage-R7QE3DNT.js.map} +1 -1
- package/dist/{BlogPage-AJF5L5JE.js → BlogPage-OAEP7OOU.js} +5 -5
- package/dist/{BlogPage-AJF5L5JE.js.map → BlogPage-OAEP7OOU.js.map} +1 -1
- package/dist/{BlogSinglePage-GPC7G5RZ.js → BlogSinglePage-NSCAOZMR.js} +5 -5
- package/dist/{BlogSinglePage-GPC7G5RZ.js.map → BlogSinglePage-NSCAOZMR.js.map} +1 -1
- package/dist/{BlogTagPage-SZPOZKYO.js → BlogTagPage-QNAZWE5P.js} +6 -6
- package/dist/{BlogTagPage-SZPOZKYO.js.map → BlogTagPage-QNAZWE5P.js.map} +1 -1
- package/dist/{BrandsPage-7XTWLCMP.js → BrandsPage-5JHLX2XO.js} +5 -5
- package/dist/{BrandsPage-7XTWLCMP.js.map → BrandsPage-5JHLX2XO.js.map} +1 -1
- package/dist/{Breadcrumb-4YCGQ7QL.js → Breadcrumb-A4FLPDBV.js} +5 -5
- package/dist/{Breadcrumb-4YCGQ7QL.js.map → Breadcrumb-A4FLPDBV.js.map} +1 -1
- package/dist/{CartItem-THEEFXBX.js → CartItem-VZKFYO57.js} +5 -5
- package/dist/{CartItem-THEEFXBX.js.map → CartItem-VZKFYO57.js.map} +1 -1
- package/dist/{CartSummary-DVDFJ2SO.js → CartSummary-7ZSG6I6S.js} +5 -5
- package/dist/{CartSummary-DVDFJ2SO.js.map → CartSummary-7ZSG6I6S.js.map} +1 -1
- package/dist/{Copyright-CEYZUB3X.js → Copyright-C4NN5NWB.js} +3 -3
- package/dist/{Copyright-CEYZUB3X.js.map → Copyright-C4NN5NWB.js.map} +1 -1
- package/dist/{CustomerLayout-3TIIQDQ2.js → CustomerLayout-3HW7J2BB.js} +5 -5
- package/dist/{CustomerLayout-3TIIQDQ2.js.map → CustomerLayout-3HW7J2BB.js.map} +1 -1
- package/dist/{Footer-M7LJ64A6.js → Footer-373V56WN.js} +5 -5
- package/dist/{Footer-M7LJ64A6.js.map → Footer-373V56WN.js.map} +1 -1
- package/dist/{Header-JMWCXZHK.js → Header-F4H4CBCL.js} +4 -4
- package/dist/{Header-JMWCXZHK.js.map → Header-F4H4CBCL.js.map} +1 -1
- package/dist/{LoyaltyPage-KRXUKUFF.js → LoyaltyPage-UMWLPECY.js} +5 -5
- package/dist/{LoyaltyPage-KRXUKUFF.js.map → LoyaltyPage-UMWLPECY.js.map} +1 -1
- package/dist/{MainMenu-WHF7ASUW.js → MainMenu-DP2N74AL.js} +3 -3
- package/dist/{MainMenu-WHF7ASUW.js.map → MainMenu-DP2N74AL.js.map} +1 -1
- package/dist/{MasterLayout-F3FXWM67.js → MasterLayout-27XOOCFM.js} +5 -5
- package/dist/{MasterLayout-F3FXWM67.js.map → MasterLayout-27XOOCFM.js.map} +1 -1
- package/dist/{MobileMenu-ZCJYSGK6.js → MobileMenu-RDTHWQC3.js} +5 -5
- package/dist/{MobileMenu-ZCJYSGK6.js.map → MobileMenu-RDTHWQC3.js.map} +1 -1
- package/dist/{NotificationsPage-BYVSEORE.js → NotificationsPage-KTZLNZHM.js} +5 -5
- package/dist/{NotificationsPage-BYVSEORE.js.map → NotificationsPage-KTZLNZHM.js.map} +1 -1
- package/dist/{OrderSinglePage-JZBRALXE.js → OrderSinglePage-PQ74PMJK.js} +5 -5
- package/dist/{OrderSinglePage-JZBRALXE.js.map → OrderSinglePage-PQ74PMJK.js.map} +1 -1
- package/dist/{OrdersPage-Z274BZQB.js → OrdersPage-7NGAJPK2.js} +5 -5
- package/dist/{OrdersPage-Z274BZQB.js.map → OrdersPage-7NGAJPK2.js.map} +1 -1
- package/dist/{PageSingle-GOR4L2V6.js → PageSingle-2OITZXHA.js} +3 -3
- package/dist/{PageSingle-GOR4L2V6.js.map → PageSingle-2OITZXHA.js.map} +1 -1
- package/dist/{ProductDetails-5P26PWUH.js → ProductDetails-CCN7LHV7.js} +3 -3
- package/dist/{ProductDetails-5P26PWUH.js.map → ProductDetails-CCN7LHV7.js.map} +1 -1
- package/dist/{ProfilePage-UCPWBRSG.js → ProfilePage-FBAQ4YFY.js} +5 -5
- package/dist/{ProfilePage-UCPWBRSG.js.map → ProfilePage-FBAQ4YFY.js.map} +1 -1
- package/dist/{SeoCartWidget-UUFUC5BA.js → SeoCartWidget-IZSJ6YTX.js} +5 -5
- package/dist/{SeoCartWidget-UUFUC5BA.js.map → SeoCartWidget-IZSJ6YTX.js.map} +1 -1
- package/dist/{SettingsPage-KUMSRMDA.js → SettingsPage-RAEWPKMK.js} +5 -5
- package/dist/{SettingsPage-KUMSRMDA.js.map → SettingsPage-RAEWPKMK.js.map} +1 -1
- package/dist/{StoreClosedNotification-ZADX6XF6.js → StoreClosedNotification-OALAFI4Y.js} +6 -6
- package/dist/{StoreClosedNotification-ZADX6XF6.js.map → StoreClosedNotification-OALAFI4Y.js.map} +1 -1
- package/dist/{TestimonialsPage-FIPHRYNP.js → TestimonialsPage-RWIXMIR6.js} +3 -3
- package/dist/{TestimonialsPage-FIPHRYNP.js.map → TestimonialsPage-RWIXMIR6.js.map} +1 -1
- package/dist/{ThankYouPage-RGBNBHOT.js → ThankYouPage-TLFQE3TA.js} +5 -5
- package/dist/{ThankYouPage-RGBNBHOT.js.map → ThankYouPage-TLFQE3TA.js.map} +1 -1
- package/dist/{WalletPage-OUCUFTEH.js → WalletPage-EFOMPLFB.js} +5 -5
- package/dist/{WalletPage-OUCUFTEH.js.map → WalletPage-EFOMPLFB.js.map} +1 -1
- package/dist/{WishlistPage-KEWT7Y5L.js → WishlistPage-D6WQCUIS.js} +5 -5
- package/dist/{WishlistPage-KEWT7Y5L.js.map → WishlistPage-D6WQCUIS.js.map} +1 -1
- package/dist/api/apps.d.ts +2 -12
- package/dist/api/apps.d.ts.map +1 -1
- package/dist/api/blog.d.ts +3 -18
- package/dist/api/blog.d.ts.map +1 -1
- package/dist/api/brands.d.ts +2 -12
- package/dist/api/brands.d.ts.map +1 -1
- package/dist/api/cart.d.ts +1 -6
- package/dist/api/cart.d.ts.map +1 -1
- package/dist/api/category.d.ts +4 -14
- package/dist/api/category.d.ts.map +1 -1
- package/dist/api/home.d.ts +1 -6
- package/dist/api/home.d.ts.map +1 -1
- package/dist/api/loyalty.d.ts +2 -12
- package/dist/api/loyalty.d.ts.map +1 -1
- package/dist/api/menu.d.ts +1 -6
- package/dist/api/menu.d.ts.map +1 -1
- package/dist/api/notification.d.ts +1 -6
- package/dist/api/notification.d.ts.map +1 -1
- package/dist/api/order.d.ts +5 -30
- package/dist/api/order.d.ts.map +1 -1
- package/dist/api/page.d.ts +1 -6
- package/dist/api/page.d.ts.map +1 -1
- package/dist/api/product.d.ts +6 -16
- package/dist/api/product.d.ts.map +1 -1
- package/dist/api/store.d.ts +1 -6
- package/dist/api/store.d.ts.map +1 -1
- package/dist/api/translations.d.ts +1 -6
- package/dist/api/translations.d.ts.map +1 -1
- package/dist/api/user.d.ts +1 -6
- package/dist/api/user.d.ts.map +1 -1
- package/dist/api/wishlist.d.ts +3 -8
- package/dist/api/wishlist.d.ts.map +1 -1
- package/dist/{chunk-57ZYZKCD.js → chunk-EPDF4ZU7.js} +4 -4
- package/dist/{chunk-57ZYZKCD.js.map → chunk-EPDF4ZU7.js.map} +1 -1
- package/dist/{chunk-7ANJ7LGZ.js → chunk-F5IEB43R.js} +5 -5
- package/dist/{chunk-7ANJ7LGZ.js.map → chunk-F5IEB43R.js.map} +1 -1
- package/dist/{chunk-ZFLU5EKG.js → chunk-GLJX3BH2.js} +3 -3
- package/dist/{chunk-ZFLU5EKG.js.map → chunk-GLJX3BH2.js.map} +1 -1
- package/dist/{chunk-VDBTF3WC.js → chunk-IVDXRPIG.js} +25 -9
- package/dist/chunk-IVDXRPIG.js.map +1 -0
- package/dist/{chunk-EGQ6DXLD.js → chunk-MDIUVANI.js} +4 -4
- package/dist/{chunk-EGQ6DXLD.js.map → chunk-MDIUVANI.js.map} +1 -1
- package/dist/{chunk-6DH255C3.js → chunk-NQ5FQOE2.js} +3 -3
- package/dist/{chunk-6DH255C3.js.map → chunk-NQ5FQOE2.js.map} +1 -1
- package/dist/{chunk-GLKBT6N6.js → chunk-NSSKTF6I.js} +7 -7
- package/dist/{chunk-GLKBT6N6.js.map → chunk-NSSKTF6I.js.map} +1 -1
- package/dist/{chunk-IXD32BQX.js → chunk-OZV5P4VP.js} +11 -4
- package/dist/chunk-OZV5P4VP.js.map +1 -0
- package/dist/chunk-TUUBKHTD.js +14 -0
- package/dist/{chunk-Q3QX22YI.js.map → chunk-TUUBKHTD.js.map} +1 -1
- package/dist/{chunk-3NSG3KI6.js → chunk-U43L4ZLH.js} +6 -6
- package/dist/{chunk-3NSG3KI6.js.map → chunk-U43L4ZLH.js.map} +1 -1
- package/dist/{chunk-BCHT4NRD.js → chunk-YGAU6PFQ.js} +8 -4
- package/dist/chunk-YGAU6PFQ.js.map +1 -0
- package/dist/components/cart/index.js +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/drawer/index.js +3 -3
- package/dist/components/home/ComponentErrorBoundary.d.ts +1 -0
- package/dist/components/home/ComponentErrorBoundary.d.ts.map +1 -1
- package/dist/components/home/index.js +5 -5
- package/dist/components/layout/index.js +5 -5
- package/dist/components/product/index.js +4 -4
- package/dist/components/store/index.js +5 -5
- package/dist/{document-class-OCA75GGE.js → document-class-JZAILFK3.js} +3 -3
- package/dist/{document-class-OCA75GGE.js.map → document-class-JZAILFK3.js.map} +1 -1
- package/dist/hooks/index.js +3 -3
- package/dist/hooks/useGtm.js +3 -3
- package/dist/hooks/useMoney.js +3 -3
- package/dist/hooks/useStore.js +3 -3
- package/dist/index.js +3 -3
- package/dist/{not-found-RM4AHY6T.js → not-found-OSTTTMCL.js} +5 -5
- package/dist/{not-found-RM4AHY6T.js.map → not-found-OSTTTMCL.js.map} +1 -1
- package/dist/providers/index.js +3 -3
- package/dist/routes/account/orders.js +1 -1
- package/dist/routes/account.js +6 -6
- package/dist/routes/blog.js +5 -5
- package/dist/routes/brands.js +1 -1
- package/dist/routes/cart.js +7 -7
- package/dist/routes/home/HomePage.d.ts.map +1 -1
- package/dist/routes/home.js +6 -6
- package/dist/routes/loyalty.js +1 -1
- package/dist/routes/page.js +1 -1
- package/dist/routes/product-listing.js +5 -5
- package/dist/routes/product.js +5 -5
- package/dist/routes/root/head.d.ts +1 -1
- package/dist/routes/root/head.d.ts.map +1 -1
- package/dist/routes/testimonials.js +1 -1
- package/dist/routes/thank-you.js +1 -1
- package/dist/skeleton.js +6 -6
- package/dist/tanstack/router.d.ts +1 -1
- package/dist/tanstack/router.d.ts.map +1 -1
- package/dist/tanstack.js +2 -2
- package/package.json +11 -11
- package/dist/chunk-BCHT4NRD.js.map +0 -1
- package/dist/chunk-IXD32BQX.js.map +0 -1
- package/dist/chunk-Q3QX22YI.js +0 -14
- package/dist/chunk-VDBTF3WC.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/navigation/MainMenu.tsx"],"names":["MainMenuSkeleton"],"mappings":"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","file":"MainMenu-
|
|
1
|
+
{"version":3,"sources":["../src/components/navigation/MainMenu.tsx"],"names":["MainMenuSkeleton"],"mappings":"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","file":"MainMenu-DP2N74AL.js","sourcesContent":["import { useMemo, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { Link } from '../common';\nimport { menu } from '../../api/menu';\nimport type { MenuItem } from '../../types';\n\nconst SKELETON_ITEMS = [\n { id: 'first', width: 'w-16' },\n { id: 'second', width: 'w-20' },\n { id: 'third', width: 'w-24' },\n { id: 'fourth', width: 'w-16' },\n { id: 'fifth', width: 'w-20' },\n];\n\nconst MainMenuSkeleton = memo(function MainMenuSkeleton() {\n return (\n <nav>\n <ul className=\"main-menu\">\n {SKELETON_ITEMS.map(({ id, width }) => (\n <li key={id} className=\"!hidden lg:!block root-level\">\n <Link to=\"#\">\n <span className={`inline-block animate-pulse rounded bg-gray-200 h-4 ${width}`} />\n </Link>\n </li>\n ))}\n </ul>\n </nav>\n );\n});\n\nexport function MainMenu() {\n const { theme } = useTwilight();\n const { data: menus = [], isLoading } = useQuery(menu.queries.header());\n const { t } = useTranslation();\n\n const { visibleMenus, hiddenMenus } = useMemo(() => {\n const enableMore = theme?.settings?.is_more_button_enabled;\n const visibleCount = 7;\n\n if (enableMore && menus.length > visibleCount) {\n return {\n visibleMenus: menus.slice(0, visibleCount),\n hiddenMenus: menus.slice(visibleCount),\n };\n }\n\n return { visibleMenus: menus, hiddenMenus: [] };\n }, [menus, theme?.settings?.enable_more_menu, theme?.settings?.is_more_button_enabled]);\n\n if (isLoading) {\n return <MainMenuSkeleton />;\n }\n\n const renderItem = (item: MenuItem, isChild = false, inMoreMenu = false) => {\n const hasChildren = item.has_children && item.children && item.children.length > 0;\n const showDropdown = hasChildren && !inMoreMenu;\n\n return (\n <li\n key={item.id}\n className={`${isChild ? 'relative' : '!hidden lg:!block root-level'} ${hasChildren ? 'has-children' : ''}`}\n >\n <Link to={item.url}>\n <span>{item.title}</span>\n </Link>\n {showDropdown && (\n <div className=\"sub-menu w-56\">\n <ul>{item?.children?.map((child: MenuItem) => renderItem(child, true))}</ul>\n </div>\n )}\n </li>\n );\n };\n\n return (\n <nav>\n <ul className=\"main-menu\">\n {visibleMenus.map((item) => renderItem(item))}\n {hiddenMenus.length > 0 && (\n <li id=\"more-menu-dropdown\" className=\"!hidden lg:!block root-level has-children\">\n <Link to=\"#\">\n <span>{t('common.titles.more', 'More')}</span>\n </Link>\n <div className=\"sub-menu w-56\">\n <ul>{hiddenMenus.map((item) => renderItem(item, true, true))}</ul>\n </div>\n </li>\n )}\n </ul>\n </nav>\n );\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { MasterLayout } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { MasterLayout } from './chunk-NSSKTF6I.js';
|
|
2
|
+
import './chunk-F5IEB43R.js';
|
|
3
3
|
import './chunk-JKIRRMBU.js';
|
|
4
4
|
import './chunk-2JV6WZ6O.js';
|
|
5
5
|
import './chunk-6IATCGID.js';
|
|
@@ -30,7 +30,7 @@ import './chunk-YMVLYYLU.js';
|
|
|
30
30
|
import './chunk-RJPPO3ET.js';
|
|
31
31
|
import './chunk-Q7VWURUR.js';
|
|
32
32
|
import './chunk-GU2KUQVD.js';
|
|
33
|
-
import './chunk-
|
|
33
|
+
import './chunk-NQ5FQOE2.js';
|
|
34
34
|
import './chunk-AXW67SY7.js';
|
|
35
35
|
import './chunk-BYMOPN2S.js';
|
|
36
36
|
import './chunk-SKLEJJ6M.js';
|
|
@@ -41,5 +41,5 @@ import './chunk-HX3YKS5W.js';
|
|
|
41
41
|
import './chunk-OBSAH7K6.js';
|
|
42
42
|
import './chunk-DF6FBKDN.js';
|
|
43
43
|
import './chunk-DGUM43GV.js';
|
|
44
|
-
//# sourceMappingURL=MasterLayout-
|
|
45
|
-
//# sourceMappingURL=MasterLayout-
|
|
44
|
+
//# sourceMappingURL=MasterLayout-27XOOCFM.js.map
|
|
45
|
+
//# sourceMappingURL=MasterLayout-27XOOCFM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"MasterLayout-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"MasterLayout-27XOOCFM.js"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { menu } from './chunk-UV5BRJH4.js';
|
|
2
2
|
import { Drawer } from './chunk-6TKIUG5C.js';
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
import './chunk-NSSKTF6I.js';
|
|
4
|
+
import './chunk-F5IEB43R.js';
|
|
5
5
|
import './chunk-JKIRRMBU.js';
|
|
6
6
|
import './chunk-2JV6WZ6O.js';
|
|
7
7
|
import './chunk-6IATCGID.js';
|
|
@@ -32,7 +32,7 @@ import './chunk-YMVLYYLU.js';
|
|
|
32
32
|
import './chunk-RJPPO3ET.js';
|
|
33
33
|
import './chunk-Q7VWURUR.js';
|
|
34
34
|
import './chunk-GU2KUQVD.js';
|
|
35
|
-
import './chunk-
|
|
35
|
+
import './chunk-NQ5FQOE2.js';
|
|
36
36
|
import { Link } from './chunk-AXW67SY7.js';
|
|
37
37
|
import './chunk-BYMOPN2S.js';
|
|
38
38
|
import './chunk-SKLEJJ6M.js';
|
|
@@ -163,5 +163,5 @@ function MobileMenuContent({ onClose }) {
|
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
export { MobileMenu };
|
|
166
|
-
//# sourceMappingURL=MobileMenu-
|
|
167
|
-
//# sourceMappingURL=MobileMenu-
|
|
166
|
+
//# sourceMappingURL=MobileMenu-RDTHWQC3.js.map
|
|
167
|
+
//# sourceMappingURL=MobileMenu-RDTHWQC3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/navigation/MobileMenu.tsx"],"names":["MobileMenuSkeleton"],"mappings":"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","file":"MobileMenu-ZCJYSGK6.js","sourcesContent":["import { useState, useCallback, useEffect, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { Drawer } from '../../components/drawer';\nimport { Link } from '../common';\nimport { menu } from '../../api/menu';\nimport type { MenuItem } from '../../types';\n\nexport interface MobileMenuProps {\n isOpen: boolean;\n onClose: () => void;\n}\n\nconst MOBILE_SKELETON_ITEMS = 5;\nconst SKELETON_WIDTHS = ['w-32', 'w-28', 'w-36', 'w-24', 'w-30'];\n\nconst MobileMenuSkeleton = memo(function MobileMenuSkeleton() {\n return (\n <ul className=\"divide-y divide-gray-100\">\n {Array.from({ length: MOBILE_SKELETON_ITEMS }, (_, i) => (\n <li key={i} className=\"py-4\">\n <span\n className={`inline-block animate-pulse rounded bg-gray-200 h-5 ${SKELETON_WIDTHS[i]}`}\n />\n </li>\n ))}\n </ul>\n );\n});\n\nexport function MobileMenu(props: MobileMenuProps) {\n if (!props.isOpen) return null;\n return <MobileMenuContent {...props} />;\n}\n\nfunction MobileMenuContent({ onClose }: MobileMenuProps) {\n const { theme } = useTwilight();\n const { data: menus = [], isLoading } = useQuery(menu.queries.header());\n const { t } = useTranslation();\n\n const [menuStack, setMenuStack] = useState<{ title: string; items: MenuItem[] }[]>([]);\n const [isAnimating, setIsAnimating] = useState(false);\n\n const currentLevel = menuStack[menuStack.length - 1] ?? { title: '', items: menus };\n const isRootLevel = menuStack.length === 0;\n\n const openSubmenu = useCallback((item: MenuItem) => {\n if (item.children && item.children.length > 0) {\n setIsAnimating(true);\n setMenuStack((prev) => [...prev, { title: item.title, items: item.children! }]);\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n }\n }, []);\n\n const goBack = useCallback(() => {\n setIsAnimating(true);\n setMenuStack((prev) => prev.slice(0, -1));\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n }, []);\n\n useEffect(() => {\n document.body.classList.add('menu-opened');\n return () => document.body.classList.remove('menu-opened');\n }, []);\n\n const getListAnimationClass = () => {\n if (isAnimating) {\n return theme.is_rtl ? 'translate-x-4 opacity-0' : '-translate-x-4 opacity-0';\n }\n return 'translate-x-0 opacity-100';\n };\n\n return (\n <>\n <Drawer\n isOpen\n onClose={onClose}\n size=\"md\"\n closeOnBackdropClick={true}\n preventBodyScroll={false}\n className=\"overflow-visible\"\n >\n <button\n type=\"button\"\n onClick={onClose}\n aria-label={t('common.buttons.close', 'Close')}\n className=\"absolute top-0 w-12 h-12 flex items-center justify-center bg-[#d35a51] text-white hover:bg-red-600 transition-colors z-50 ltr:-right-12 rtl:-left-12\"\n >\n <i className=\"sicon-cancel text-xl leading-none\"></i>\n </button>\n\n <Drawer.Header showCloseButton={false} onClose={onClose}>\n <div className=\"flex items-center gap-2 w-full\">\n {!isRootLevel && (\n <button\n type=\"button\"\n className=\"text-gray-500 hover:text-gray-800 transition-colors flex-shrink-0\"\n onClick={goBack}\n aria-label={t('common.buttons.back', 'Back')}\n >\n <i className=\"sicon-keyboard_arrow_left text-xl flex items-center justify-center\"></i>\n </button>\n )}\n <span className=\"font-bold text-lg truncate flex-1 text-center pr-6 rtl:pl-6 rtl:pr-0\">\n {isRootLevel ? t('blocks.header.main_menu', 'Menu') : currentLevel.title}\n </span>\n </div>\n </Drawer.Header>\n <Drawer.Body className=\"p-0 overflow-hidden\">\n <nav className=\"mobile-menu h-full overflow-y-auto\">\n {isLoading ? (\n <MobileMenuSkeleton />\n ) : (\n <ul\n className={`divide-y divide-gray-100 transition-all duration-200 ease-out ${getListAnimationClass()}`}\n >\n {currentLevel.items.map((item) => {\n const hasChildren =\n item.has_children && item.children && item.children.length > 0;\n\n return (\n <li key={item.id} className=\"mobile-menu-item\">\n {hasChildren ? (\n <button\n type=\"button\"\n className=\"flex items-center justify-between w-full py-4 hover:text-primary transition-colors text-start group\"\n onClick={() => openSubmenu(item)}\n >\n <span className=\"text-gray-800 group-hover:text-primary font-medium text-base\">\n {item.title}\n </span>\n <i className=\"sicon-keyboard_arrow_right rtl:rotate-180 text-gray-500 group-hover:text-primary text-lg flex items-center justify-center h-full\"></i>\n </button>\n ) : (\n <Link\n to={item.url}\n className=\"block w-full py-4 hover:text-primary transition-colors text-gray-800 font-medium text-base group\"\n onClick={onClose}\n >\n <span className=\"group-hover:translate-x-1 rtl:group-hover:-translate-x-1 inline-block transition-transform\">\n {item.title}\n </span>\n </Link>\n )}\n </li>\n );\n })}\n </ul>\n )}\n </nav>\n </Drawer.Body>\n </Drawer>\n </>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/navigation/MobileMenu.tsx"],"names":["MobileMenuSkeleton"],"mappings":"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","file":"MobileMenu-RDTHWQC3.js","sourcesContent":["import { useState, useCallback, useEffect, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { Drawer } from '../../components/drawer';\nimport { Link } from '../common';\nimport { menu } from '../../api/menu';\nimport type { MenuItem } from '../../types';\n\nexport interface MobileMenuProps {\n isOpen: boolean;\n onClose: () => void;\n}\n\nconst MOBILE_SKELETON_ITEMS = 5;\nconst SKELETON_WIDTHS = ['w-32', 'w-28', 'w-36', 'w-24', 'w-30'];\n\nconst MobileMenuSkeleton = memo(function MobileMenuSkeleton() {\n return (\n <ul className=\"divide-y divide-gray-100\">\n {Array.from({ length: MOBILE_SKELETON_ITEMS }, (_, i) => (\n <li key={i} className=\"py-4\">\n <span\n className={`inline-block animate-pulse rounded bg-gray-200 h-5 ${SKELETON_WIDTHS[i]}`}\n />\n </li>\n ))}\n </ul>\n );\n});\n\nexport function MobileMenu(props: MobileMenuProps) {\n if (!props.isOpen) return null;\n return <MobileMenuContent {...props} />;\n}\n\nfunction MobileMenuContent({ onClose }: MobileMenuProps) {\n const { theme } = useTwilight();\n const { data: menus = [], isLoading } = useQuery(menu.queries.header());\n const { t } = useTranslation();\n\n const [menuStack, setMenuStack] = useState<{ title: string; items: MenuItem[] }[]>([]);\n const [isAnimating, setIsAnimating] = useState(false);\n\n const currentLevel = menuStack[menuStack.length - 1] ?? { title: '', items: menus };\n const isRootLevel = menuStack.length === 0;\n\n const openSubmenu = useCallback((item: MenuItem) => {\n if (item.children && item.children.length > 0) {\n setIsAnimating(true);\n setMenuStack((prev) => [...prev, { title: item.title, items: item.children! }]);\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n }\n }, []);\n\n const goBack = useCallback(() => {\n setIsAnimating(true);\n setMenuStack((prev) => prev.slice(0, -1));\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n }, []);\n\n useEffect(() => {\n document.body.classList.add('menu-opened');\n return () => document.body.classList.remove('menu-opened');\n }, []);\n\n const getListAnimationClass = () => {\n if (isAnimating) {\n return theme.is_rtl ? 'translate-x-4 opacity-0' : '-translate-x-4 opacity-0';\n }\n return 'translate-x-0 opacity-100';\n };\n\n return (\n <>\n <Drawer\n isOpen\n onClose={onClose}\n size=\"md\"\n closeOnBackdropClick={true}\n preventBodyScroll={false}\n className=\"overflow-visible\"\n >\n <button\n type=\"button\"\n onClick={onClose}\n aria-label={t('common.buttons.close', 'Close')}\n className=\"absolute top-0 w-12 h-12 flex items-center justify-center bg-[#d35a51] text-white hover:bg-red-600 transition-colors z-50 ltr:-right-12 rtl:-left-12\"\n >\n <i className=\"sicon-cancel text-xl leading-none\"></i>\n </button>\n\n <Drawer.Header showCloseButton={false} onClose={onClose}>\n <div className=\"flex items-center gap-2 w-full\">\n {!isRootLevel && (\n <button\n type=\"button\"\n className=\"text-gray-500 hover:text-gray-800 transition-colors flex-shrink-0\"\n onClick={goBack}\n aria-label={t('common.buttons.back', 'Back')}\n >\n <i className=\"sicon-keyboard_arrow_left text-xl flex items-center justify-center\"></i>\n </button>\n )}\n <span className=\"font-bold text-lg truncate flex-1 text-center pr-6 rtl:pl-6 rtl:pr-0\">\n {isRootLevel ? t('blocks.header.main_menu', 'Menu') : currentLevel.title}\n </span>\n </div>\n </Drawer.Header>\n <Drawer.Body className=\"p-0 overflow-hidden\">\n <nav className=\"mobile-menu h-full overflow-y-auto\">\n {isLoading ? (\n <MobileMenuSkeleton />\n ) : (\n <ul\n className={`divide-y divide-gray-100 transition-all duration-200 ease-out ${getListAnimationClass()}`}\n >\n {currentLevel.items.map((item) => {\n const hasChildren =\n item.has_children && item.children && item.children.length > 0;\n\n return (\n <li key={item.id} className=\"mobile-menu-item\">\n {hasChildren ? (\n <button\n type=\"button\"\n className=\"flex items-center justify-between w-full py-4 hover:text-primary transition-colors text-start group\"\n onClick={() => openSubmenu(item)}\n >\n <span className=\"text-gray-800 group-hover:text-primary font-medium text-base\">\n {item.title}\n </span>\n <i className=\"sicon-keyboard_arrow_right rtl:rotate-180 text-gray-500 group-hover:text-primary text-lg flex items-center justify-center h-full\"></i>\n </button>\n ) : (\n <Link\n to={item.url}\n className=\"block w-full py-4 hover:text-primary transition-colors text-gray-800 font-medium text-base group\"\n onClick={onClose}\n >\n <span className=\"group-hover:translate-x-1 rtl:group-hover:-translate-x-1 inline-block transition-transform\">\n {item.title}\n </span>\n </Link>\n )}\n </li>\n );\n })}\n </ul>\n )}\n </nav>\n </Drawer.Body>\n </Drawer>\n </>\n );\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
import './chunk-NSSKTF6I.js';
|
|
2
|
+
import './chunk-F5IEB43R.js';
|
|
3
3
|
import './chunk-JKIRRMBU.js';
|
|
4
4
|
import './chunk-2JV6WZ6O.js';
|
|
5
5
|
import './chunk-6IATCGID.js';
|
|
@@ -30,7 +30,7 @@ import './chunk-YMVLYYLU.js';
|
|
|
30
30
|
import './chunk-RJPPO3ET.js';
|
|
31
31
|
import { HookSlot } from './chunk-Q7VWURUR.js';
|
|
32
32
|
import './chunk-GU2KUQVD.js';
|
|
33
|
-
import { LazyNoContent } from './chunk-
|
|
33
|
+
import { LazyNoContent } from './chunk-NQ5FQOE2.js';
|
|
34
34
|
import './chunk-AXW67SY7.js';
|
|
35
35
|
import './chunk-BYMOPN2S.js';
|
|
36
36
|
import './chunk-SKLEJJ6M.js';
|
|
@@ -86,5 +86,5 @@ function NotificationsPage({ notifications }) {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
export { NotificationsPage };
|
|
89
|
-
//# sourceMappingURL=NotificationsPage-
|
|
90
|
-
//# sourceMappingURL=NotificationsPage-
|
|
89
|
+
//# sourceMappingURL=NotificationsPage-KTZLNZHM.js.map
|
|
90
|
+
//# sourceMappingURL=NotificationsPage-KTZLNZHM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/routes/account/notifications/NotificationsPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,gBAAA,CAAiB,EAAE,YAAA,EAAa,EAAmC;AAC1E,EAAA,uBACE,IAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,MAAM,YAAA,CAAa,GAAA;AAAA,MACnB,SAAA,EAAW,CAAA,gDAAA,EAAmD,YAAA,CAAa,OAAA,GAAU,+BAA+B,EAAE,CAAA,CAAA;AAAA,MAEtH,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,2BAAA,EACd,QAAA,kBAAA,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,WAAW,CAAA,yCAAA,EAA4C,CAAC,YAAA,CAAa,OAAA,GAAU,mCAAmC,EAAE,CAAA;AAAA;AAAA,SACrH,EACH,CAAA;AAAA,wBACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,8BAAA,EACb,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,sCAAA,EACb,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,IAAA,EAAA,EAAI,uBAAa,KAAA,EAAM,CAAA;AAAA,4BACxB,GAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,YAAA,CAAa,IAAA,EAAK;AAAA,WAAA,EACxB,CAAA;AAAA,0BACA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,uCAAA,EACd,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,GAAA,EAAA,EAAE,WAAU,uDAAA,EAAwD,CAAA;AAAA,4BACrE,GAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,YAAA,CAAa,QAAA,EAAS;AAAA,WAAA,EAC/B;AAAA,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ;AAEO,SAAS,iBAAA,CAAkB,EAAE,aAAA,EAAc,EAA2B;AAC3E,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAE7B,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,MAAK,oCAAA,EAAqC,CAAA;AAAA,oBACpD,GAAA,CAAC,SAAI,SAAA,EAAU,yBAAA,EACZ,wBAAc,MAAA,GAAS,CAAA,mBACtB,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qCAAA,EACZ,wBAAc,GAAA,CAAI,CAAC,IAAA,qBAClB,GAAA,CAAC,gBAAA,EAAA,EAA+B,YAAA,EAAc,QAAvB,IAAA,CAAK,EAAwB,CACrD,CAAA,EACH,CAAA,mBAEA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,iBAAA;AAAA,QACL,OAAA,EAAS,CAAA,CAAE,gCAAA,EAAkC,kBAAkB;AAAA;AAAA,KACjE,EAEJ,CAAA;AAAA,oBACA,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,kCAAA,EAAmC;AAAA,GAAA,EACpD,CAAA;AAEJ","file":"NotificationsPage-
|
|
1
|
+
{"version":3,"sources":["../src/routes/account/notifications/NotificationsPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,gBAAA,CAAiB,EAAE,YAAA,EAAa,EAAmC;AAC1E,EAAA,uBACE,IAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,MAAM,YAAA,CAAa,GAAA;AAAA,MACnB,SAAA,EAAW,CAAA,gDAAA,EAAmD,YAAA,CAAa,OAAA,GAAU,+BAA+B,EAAE,CAAA,CAAA;AAAA,MAEtH,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,2BAAA,EACd,QAAA,kBAAA,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,WAAW,CAAA,yCAAA,EAA4C,CAAC,YAAA,CAAa,OAAA,GAAU,mCAAmC,EAAE,CAAA;AAAA;AAAA,SACrH,EACH,CAAA;AAAA,wBACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,8BAAA,EACb,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,sCAAA,EACb,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,IAAA,EAAA,EAAI,uBAAa,KAAA,EAAM,CAAA;AAAA,4BACxB,GAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,YAAA,CAAa,IAAA,EAAK;AAAA,WAAA,EACxB,CAAA;AAAA,0BACA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,uCAAA,EACd,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,GAAA,EAAA,EAAE,WAAU,uDAAA,EAAwD,CAAA;AAAA,4BACrE,GAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,YAAA,CAAa,QAAA,EAAS;AAAA,WAAA,EAC/B;AAAA,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ;AAEO,SAAS,iBAAA,CAAkB,EAAE,aAAA,EAAc,EAA2B;AAC3E,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAE7B,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,MAAK,oCAAA,EAAqC,CAAA;AAAA,oBACpD,GAAA,CAAC,SAAI,SAAA,EAAU,yBAAA,EACZ,wBAAc,MAAA,GAAS,CAAA,mBACtB,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qCAAA,EACZ,wBAAc,GAAA,CAAI,CAAC,IAAA,qBAClB,GAAA,CAAC,gBAAA,EAAA,EAA+B,YAAA,EAAc,QAAvB,IAAA,CAAK,EAAwB,CACrD,CAAA,EACH,CAAA,mBAEA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,iBAAA;AAAA,QACL,OAAA,EAAS,CAAA,CAAE,gCAAA,EAAkC,kBAAkB;AAAA;AAAA,KACjE,EAEJ,CAAA;AAAA,oBACA,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,kCAAA,EAAmC;AAAA,GAAA,EACpD,CAAA;AAEJ","file":"NotificationsPage-KTZLNZHM.js","sourcesContent":["import { HookSlot } from '../../../hooks';\nimport { NoContent } from '../../../components/common';\nimport { useTranslation } from '../../../providers/I18nProvider';\nimport type { NotificationsPageProps, Notification } from './types';\n\nfunction NotificationItem({ notification }: { notification: Notification }) {\n return (\n <a\n href={notification.url}\n className={`s-notifications-item s-notifications-item-shadow${notification.is_read ? ' s-notifications-item-read' : ''}`}\n >\n <span className=\"s-notifications-item-icon\">\n <i\n className={`s-notifications-item-icon sicon-bell-ring${!notification.is_read ? ' s-notifications-item-icon-new' : ''}`}\n ></i>\n </span>\n <div className=\"s-notifications-item-content\">\n <div className=\"s-notifications-item-content-leading\">\n <h4>{notification.title}</h4>\n <p>{notification.body}</p>\n </div>\n <span className=\"s-notifications-item-content-trailing\">\n <i className=\"sicon-time s-notifications-item-content-trailing-icon\"></i>\n <span>{notification.time_ago}</span>\n </span>\n </div>\n </a>\n );\n}\n\nexport function NotificationsPage({ notifications }: NotificationsPageProps) {\n const { t } = useTranslation();\n\n return (\n <>\n <HookSlot name=\"customer:notifications.items.start\" />\n <div className=\"s-notifications-wrapper\">\n {notifications.length > 0 ? (\n <div className=\"s-notifications-container space-y-2\">\n {notifications.map((item: Notification) => (\n <NotificationItem key={item.id} notification={item} />\n ))}\n </div>\n ) : (\n <NoContent\n icon=\"sicon-bell-ring\"\n message={t('blocks.header.no_notifications', 'No notifications')}\n />\n )}\n </div>\n <HookSlot name=\"customer:notifications.items.end\" />\n </>\n );\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { order } from './chunk-QM75GGXX.js';
|
|
2
|
-
import { usePageConfig, useDate, useMoney } from './chunk-
|
|
3
|
-
import './chunk-
|
|
2
|
+
import { usePageConfig, useDate, useMoney } from './chunk-NSSKTF6I.js';
|
|
3
|
+
import './chunk-F5IEB43R.js';
|
|
4
4
|
import './chunk-JKIRRMBU.js';
|
|
5
5
|
import './chunk-2JV6WZ6O.js';
|
|
6
6
|
import './chunk-6IATCGID.js';
|
|
@@ -31,7 +31,7 @@ import './chunk-YMVLYYLU.js';
|
|
|
31
31
|
import './chunk-RJPPO3ET.js';
|
|
32
32
|
import { HookSlot } from './chunk-Q7VWURUR.js';
|
|
33
33
|
import './chunk-GU2KUQVD.js';
|
|
34
|
-
import { Image } from './chunk-
|
|
34
|
+
import { Image } from './chunk-NQ5FQOE2.js';
|
|
35
35
|
import { Link } from './chunk-AXW67SY7.js';
|
|
36
36
|
import './chunk-BYMOPN2S.js';
|
|
37
37
|
import './chunk-SKLEJJ6M.js';
|
|
@@ -497,5 +497,5 @@ function OrderSinglePage({ order: order2, page }) {
|
|
|
497
497
|
}
|
|
498
498
|
|
|
499
499
|
export { OrderSinglePage };
|
|
500
|
-
//# sourceMappingURL=OrderSinglePage-
|
|
501
|
-
//# sourceMappingURL=OrderSinglePage-
|
|
500
|
+
//# sourceMappingURL=OrderSinglePage-PQ74PMJK.js.map
|
|
501
|
+
//# sourceMappingURL=OrderSinglePage-PQ74PMJK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/routes/account/orders/OrderSinglePage.tsx"],"names":["ContentSkeleton","order"],"mappings":"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","file":"OrderSinglePage-JZBRALXE.js","sourcesContent":["import { useState, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { SallaOrderDetails } from '@salla.sa/twilight-components-react/order-details';\nimport { SallaRatingStars } from '@salla.sa/twilight-components-react/rating-stars';\nimport { SallaRatingModal } from '@salla.sa/twilight-components-react/rating-modal';\nimport { SallaModal } from '@salla.sa/twilight-components-react/modal';\nimport { SallaEditOrderButton } from '@salla.sa/twilight-components-react/edit-order-button';\nimport { SallaOrderBranch } from '@salla.sa/twilight-components-react/order-branch';\nimport { SallaOrderTotalsCard } from '@salla.sa/twilight-components-react/order-totals-card';\nimport { HookSlot, useUser, useDate, usePageConfig } from '../../../hooks';\nimport { useAsyncFn } from '../../../hooks/useAsyncFn';\nimport { useMoney } from '../../../hooks/useMoney';\nimport type { OrderSinglePageProps } from '../types';\nimport { useTwilight } from '../../../providers/twilight-context';\nimport { useNavigate, useLocation } from '../../../providers/NavigationProvider';\n\nimport { Link, Image } from '../../../components/common';\nimport { useTranslation } from '../../../providers/I18nProvider';\nimport { order as orderApi } from '../../../api/order';\n\nconst ContentSkeleton = memo(function ContentSkeleton() {\n return (\n <div className=\"animate-pulse bg-white rounded-md p-5 space-y-3\">\n <div className=\"h-4 bg-gray-200 rounded w-1/3\" />\n <div className=\"h-4 bg-gray-200 rounded w-2/3\" />\n <div className=\"h-4 bg-gray-200 rounded w-1/2\" />\n </div>\n );\n});\n\nexport function OrderSinglePage({ order, page }: OrderSinglePageProps) {\n const { t, direction } = useTranslation();\n // `<salla-order-branch>` reads the order id from `salla.config.page.id`, which the router\n // only sets on client-side navigations — seed it so a direct load works too.\n usePageConfig(page);\n const { store } = useTwilight();\n const { data: user } = useUser();\n const navigate = useNavigate();\n const location = useLocation();\n const { format: formatDate } = useDate();\n const { format } = useMoney();\n const [showReorderModal, setShowReorderModal] = useState(false);\n const [showCancelModal, setShowCancelModal] = useState(false);\n\n const { data: shipments, isLoading: isLoadingShipments } = useQuery({\n ...orderApi.queries.shipments(String(order.id)),\n enabled: order.features.shippable,\n });\n const { data: ratings, isLoading: isLoadingRatings } = useQuery({\n ...orderApi.queries.ratings(String(order.id)),\n enabled: order.actions.rateable,\n });\n\n const [reorderState, handleReorder] = useAsyncFn(async () => {\n // Pass the order id explicitly: salla.js falls back to `salla.config.get('page.id')`,\n // which this SSR theme never sets, so a bare call would hit `reorder/undefined`.\n await window.salla?.order.createCartFromOrder(Number(order.id));\n setShowReorderModal(false);\n navigate('/cart');\n }, [navigate, order.id]);\n\n const [cancelState, handleCancel] = useAsyncFn(async () => {\n await window.salla?.order.cancel(Number(order.id));\n setShowCancelModal(false);\n // Invalidate current route to refetch order data. The router's own location,\n // not `window.location`: on a host where the store is the root, the address bar\n // carries the store segment and `navigate` would add it a second time.\n navigate(location.pathname, { replace: true });\n }, [navigate, order.id, location.pathname]);\n\n return (\n <div className=\"space-y-4\">\n <HookSlot name=\"customer:orders.single.details.start\" />\n\n {/* Gift orders are tagged; the edit button gates itself (edit window / order state). */}\n <div className=\"flex items-center justify-between gap-3 flex-wrap\">\n {order.type === 'buy_as_gift' || order.source?.type === 'buy_as_gift' ? (\n <span className=\"inline-block text-primary\">\n <i className=\"sicon-gift-sharing\"></i> {t('pages.orders.gift_tag', 'Gift order')}\n </span>\n ) : (\n <span />\n )}\n <SallaEditOrderButton orderId={String(order.id)} />\n </div>\n\n {/* Order Details Table */}\n <table className=\"min-w-full rounded-md overflow-hidden\">\n <tbody>\n <tr className=\"bg-white overflow-hidden flex md:table-row flex-row md:flex-row flex-wrap md:flex-no-wrap py-1.5 md:py-0\">\n <td className=\"single-order-header-item w-full md:w-auto px-3 md:px-6 py-2 md:py-4 md:h-20 whitespace-nowrap text-sm\">\n <div className=\"rtl:ml-2 ltr:mr-2 font-normal text-gray-400\">\n {t('pages.orders.date')}\n </div>\n <b>{formatDate(order.created_at.date)}</b>\n </td>\n\n <td className=\"single-order-header-item flex justify-between items-center w-full md:w-auto px-3 md:px-6 py-2 md:py-4 md:h-20 whitespace-nowrap text-sm\">\n <span\n className=\"text-primary inline-flex items-center rtl:space-x-reverse space-x-1\"\n style={{ color: order.status.color }}\n >\n {order.status.icon && <i className={`mt-1 ${order.status.icon}`}></i>}\n <span>{order.status.name}</span>\n </span>\n\n <div className=\"flex items-center justify-between\">\n {order.type === 'quote' && (\n <span className=\"text-red-500 ml-4\">\n {t('pages.orders.your_order_is_under_review')}\n </span>\n )}\n\n <div className=\"flex space-x-2 rtl:space-x-reverse text-start flex-none px-2\">\n {order.urls.digital_content && (\n <a\n href={order.urls.digital_content}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"salla-button salla-button--small\"\n >\n <span className=\"salla-button-text\">\n {t('pages.orders.digital')}\n <i\n className={\n user && direction === 'rtl'\n ? 'sicon-arrow-up-left'\n : 'sicon-arrow-up-right'\n }\n ></i>\n </span>\n </a>\n )}\n {order.urls.tracking?.map((trackingUrl) => (\n <a\n key={trackingUrl}\n href={trackingUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"salla-button salla-button--small\"\n >\n <span className=\"salla-button-text\">\n {t('pages.orders.tracking')}\n <i\n className={\n user && direction === 'rtl'\n ? 'sicon-arrow-up-left'\n : 'sicon-arrow-up-right'\n }\n ></i>\n </span>\n </a>\n ))}\n </div>\n\n {order.urls.receipt && (\n <SallaButton\n fill=\"outline\"\n size=\"small\"\n onClick={() =>\n window.open(\n order.urls.receipt,\n '_blank',\n 'toolbar=yes, scrollbars=yes, resizable=yes, width=900, height=700'\n )\n }\n >\n <i className=\"sicon-printer2 v-align\"></i>\n {t('pages.orders.print')}\n </SallaButton>\n )}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n {/* Pickup branch details — renders nothing for orders that aren't pickable */}\n <SallaOrderBranch stackCards />\n\n {/* Refund Message */}\n {order.refund_message && (\n <div className=\"min-w-full rounded-md overflow-hidden\">\n <div className=\"bg-white flex items-center gap-1 rounded-md px-3 py-5 md:px-5\">\n <i className=\"sicon-refund h-6 w-6\"></i>\n <p\n className=\"font-medium text-base\"\n dangerouslySetInnerHTML={{ __html: order.refund_message }}\n />\n </div>\n </div>\n )}\n\n {/* Rating Message */}\n {order.actions.rateable && (\n <div className=\"rating-header gradient-bg center-between\">\n <div>\n <h2 className=\"font-bold mb-1\">{t('pages.order.order_rating_title')}</h2>\n <p className=\"text-sm\">{t('pages.order.order_rating_message')}</p>\n </div>\n <SallaButton\n color=\"light\"\n className=\"btn--rounded-full !text-primary\"\n onClick={() => window.salla?.event.dispatch('rating::open')}\n >\n {t('pages.rating.rate')}\n </SallaButton>\n </div>\n )}\n\n {/* Rating Update Info Banner */}\n {store.settings?.rating?.allow_update && ratings && ratings.length > 0 && (\n <div className=\"flex items-start gap-2 bg-blue-50 border border-blue-200 text-blue-500 px-2 py-3 rounded-md text-sm\">\n <i className=\"sicon-info\"></i>\n <p>\n {t('pages.order.can_edit_or_delete_your_review_within')}{' '}\n {store.settings?.rating?.update_period} {t('pages.order.days_since_added')}.\n </p>\n </div>\n )}\n\n {/* Order Shipments */}\n {order.features.shippable &&\n (isLoadingShipments ? (\n <ContentSkeleton />\n ) : (\n shipments?.map((shipment) => (\n <div key={shipment.id} className=\"shipping-orders\">\n <div className=\"flex flex-col md:flex-row justify-between md:items-center bg-white px-5 py-3 border-b border-gray-100 rounded-t-md text-sm space-y-4 md:space-y-0\">\n <div className=\"flex items-center space-x-2 rtl:space-x-reverse\">\n <Image\n src={shipment.logo}\n className=\"max-w-16 max-h-8\"\n alt={shipment.name}\n aspectRatio=\"2/1\"\n />\n <span>{shipment.name}</span>\n </div>\n <div className=\"flex space-x-5 rtl:space-x-reverse\">\n {shipment.number && (\n <span>\n {t('pages.orders.shipment_no')}:{' '}\n <span className=\"font-bold\">{shipment.number}</span>\n </span>\n )}\n {shipment.tracking_url && (\n <a\n href={shipment.tracking_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"salla-button salla-button--link\"\n >\n <span className=\"sicon-shipping rtl:ml-1 ltr:mr-1\"></span>\n {t('pages.orders.tracking_url')}\n </a>\n )}\n </div>\n </div>\n </div>\n ))\n ))}\n\n {/* Order Items */}\n {order.items.map((item) => (\n <div\n key={item.id}\n data-order-item-id={item.id}\n data-order-item-product-id={item.product?.id}\n className=\"order-item bg-white p-5 border-b border-gray-100 first:rounded-t-md last:rounded-b-md last:border-none\"\n >\n <div className=\"mb-5 last:mb-0\">\n {item.product ? (\n <div className=\"flex rtl:space-x-reverse space-x-5 mb-4\">\n <Link to={item.product.url} className=\"shrink-0\">\n <Image\n src={item.image || '/images/placeholder.png'}\n alt={item.name}\n className={`w-18 h-14 object-${item.image ? 'cover' : 'contain'} rounded-md`}\n />\n </Link>\n <div>\n <Link\n to={item.product.url}\n className=\"block leading-5 mb-1.5 md:text-base font-semibold transition-colors text-gray-500 hover:text-primary\"\n >\n {item.name}\n </Link>\n <b>\n {format(item.amounts.amount?.amount, {\n currency: item.amounts.amount?.currency,\n })}\n </b>\n </div>\n </div>\n ) : (\n <div className=\"w-full flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">{item.name}</span>\n <b>\n {format(item.amounts.amount?.amount, { currency: item.amounts.amount?.currency })}\n </b>\n </div>\n )}\n\n <div className=\"w-full flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">\n {t('pages.products.quantity', 'Quantity')}\n </span>\n <b>{item.quantity}</b>\n </div>\n <div className=\"flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">\n {t('pages.products.price', 'Price')}\n </span>\n <b>{format(item.amounts.cost?.amount, { currency: item.amounts.cost?.currency })}</b>\n </div>\n <div className=\"flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">\n {t('pages.cart.total', 'Total')}\n </span>\n <b>\n {format(item.amounts.total?.amount, { currency: item.amounts.total?.currency })}\n </b>\n </div>\n </div>\n\n {/* Availability Date */}\n {item.availability_date && (\n <div className=\"flex gap-2 text-sm py-2.5 text-blue-500\">\n <i className=\"sicon-info\"></i>\n <span>\n {t('pages.products.expected_to_be')}: <b>{item.availability_date}</b>\n </span>\n </div>\n )}\n\n {/* Booking / Reservations */}\n {item.product?.type === 'booking' &&\n item.product_reservations &&\n (item.product_reservations as unknown[]).length > 0 && (\n <>\n {item.booking_location && (\n <ul className=\"font-medium text-xs text-gray-600\">\n <li className=\"py-1 flex justify-between items-baseline\">\n <span className=\"mt-5 mb-3.5 text-sm font-bold\">\n {t('common.elements.location')}\n </span>\n <span className=\"text-unicode\">{item.booking_location}</span>\n </li>\n </ul>\n )}\n <h3 className=\"mt-5 mb-3.5 text-sm font-bold\">\n {(item.product_reservations as unknown[]).length > 1\n ? t('pages.cart.reservations')\n : t('pages.cart.item_options')}\n </h3>\n <div className=\"rounded-md p-4 border border-gray-200 mb-2\">\n <SallaOrderDetails orderDetails={JSON.stringify(item)} />\n </div>\n </>\n )}\n\n {/* Order details (sub-products / options) — for non-booking items */}\n {!(\n item.product?.type === 'booking' &&\n item.product_reservations &&\n (item.product_reservations as unknown[]).length > 0\n ) && <SallaOrderDetails orderDetails={JSON.stringify(item)} />}\n\n {/* Product options (e.g. custom fields the merchant added to the\n product) — item.options exists on the API response but nothing\n rendered it; SallaOrderDetails above doesn't cover this data. */}\n {item.options && item.options.length > 0 && (\n <div className=\"mt-3\">\n <h3 className=\"mb-2 text-sm font-bold\">\n {t('pages.cart.item_options', 'Product Options')}\n </h3>\n <div className=\"rounded-md border border-gray-200 divide-y divide-gray-200\">\n {item.options.map((option) => (\n <div\n key={option.name}\n className=\"flex items-center justify-between gap-4 px-4 py-2.5 text-sm\"\n >\n <span className=\"font-normal text-gray-500\">{option.name}</span>\n {option.is_image ? (\n <Image\n src={option.value}\n alt={option.name}\n className=\"h-7 w-7 rounded-md object-cover\"\n />\n ) : option.color ? (\n <span className=\"inline-flex items-center gap-2\">\n <span\n className=\"h-4 w-4 rounded-full border border-gray-200\"\n style={{ backgroundColor: option.color }}\n />\n <b>{option.value}</b>\n </span>\n ) : (\n <b>{option.value}</b>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {item.note && (\n <p className=\"mt-3 text-sm text-gray-500\">\n <span>{t('common.elements.note', 'Note')}: </span>\n {item.note}\n </p>\n )}\n\n {/* Attachments */}\n {item.attachments && item.attachments.length > 0 && (\n <div className=\"flow-root rounded-md px-4 border border-gray-200\">\n <dl className=\"text-sm text-dark divide-y divide-border-color\">\n {item.attachments.map((attachment) => (\n <div\n key={`${attachment.type}:${attachment.url}`}\n className=\"py-3.5 md:flex items-center justify-between\"\n >\n <dt className=\"mb-2 md:mb-0\">{t('pages.products.attachments')}</dt>\n <dd\n className={`font-medium ${attachment.type === 'image' ? 'text-gray-900' : 'text-xs'}`}\n >\n {attachment.type === 'image' && attachment.url ? (\n <div className=\"flex rtl:space-x-reverse space-x-2.5\">\n <a href={attachment.url} target=\"_blank\" rel=\"noopener noreferrer\">\n <Image\n className=\"h-7 w-7 object-cover rounded-md\"\n src={attachment.url}\n alt={item.name}\n />\n </a>\n </div>\n ) : (\n <a href={attachment.url}>{t('pages.orders.file_url')}</a>\n )}\n </dd>\n </div>\n ))}\n </dl>\n </div>\n )}\n </div>\n ))}\n\n {/* Order Totals */}\n <SallaOrderTotalsCard amounts={JSON.stringify(order.amounts)} {...({} as any)} />\n\n {/* Reorder & Cancel Actions */}\n {(order.actions.reorderable || order.actions.cancellable || order.actions.payable) && (\n <div className=\"bg-white rounded-md p-5 divide-y divide-border-color space-y-4\">\n {(order.actions.reorderable || order.actions.payable) && (\n <div className={order.actions.payable ? 'flex-center' : 'center-between'}>\n {order.actions.payable ? (\n (order.payment?.pending_payment_ends_at ?? 0) === 0 ? (\n <span className=\"text-red-500\">{t('pages.orders.pending_payment_expired')}</span>\n ) : order.urls.checkout ? (\n <SallaButton width=\"wide\" href={order.urls.checkout}>\n <i className=\"sicon sicon-wallet rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.finish_payment')}</span>\n </SallaButton>\n ) : (\n <span className=\"text-red-500\">{t('pages.orders.pending_payment_expired')}</span>\n )\n ) : user ? (\n <>\n <div className=\"text-sm\">\n <h3 className=\"font-bold text-lg leading-none mb-1\">\n {t('pages.orders.reorder')}\n </h3>\n <p className=\"text-gray-500\">{t('pages.orders.reorder_description')}</p>\n </div>\n <SallaButton onClick={() => setShowReorderModal(true)}>\n <i className=\"sicon sicon-rotate rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.reorder')}</span>\n </SallaButton>\n </>\n ) : null}\n </div>\n )}\n\n {order.actions.cancellable && (\n <div className=\"center-between pt-4\">\n <div className=\"text-sm\">\n <h3 className=\"font-bold text-lg leading-none mb-1\">{t('pages.orders.cancel')}</h3>\n <p className=\"text-gray-500\">{t('pages.order.order_cancelation_desc')}</p>\n </div>\n <SallaButton shape=\"link\" color=\"danger\" onClick={() => setShowCancelModal(true)}>\n <i className=\"sicon sicon-cancel-circle rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.cancel')}</span>\n </SallaButton>\n </div>\n )}\n </div>\n )}\n\n {/* Ratings */}\n {isLoadingRatings ? (\n <ContentSkeleton />\n ) : (\n <>\n {/* Product Ratings (type: \"rating\") */}\n {ratings?.map(\n (rating) =>\n rating.type === 'rating' && (\n <section\n key={rating.id}\n className=\"flex justify-between items-start bg-white p-5 rounded-md\"\n >\n <div>\n <p className=\"mb-2\">{rating.content}</p>\n <SallaRatingStars withLabel size=\"small\" value={rating.rating} />\n {rating.images?.map(\n (img) =>\n img && (\n <Image\n key={img}\n className=\"w-20 h-20 object-cover rounded-md mt-2 mr-2 inline-block\"\n src={img}\n alt=\"\"\n />\n )\n )}\n </div>\n </section>\n )\n )}\n\n {(() => {\n const shippingRating = ratings?.find((r) => r.type === 'shipping');\n return (\n shippingRating && (\n <section className=\"flex justify-between items-start bg-white p-5 rounded-md\">\n <div>\n <h2 className=\"text-lg font-bold mb-5\">{t('pages.rating.rate_shipping')}</h2>\n <p className=\"mb-2\">{shippingRating.content}</p>\n <SallaRatingStars withLabel value={shippingRating.rating} />\n </div>\n </section>\n )\n );\n })()}\n\n {(() => {\n const testimonialRating = ratings?.find((r) => r.type === 'testimonial');\n return (\n testimonialRating && (\n <section className=\"flex justify-between items-start bg-white p-5 rounded-md\">\n <div>\n <h2 className=\"text-lg font-bold mb-5\">{t('pages.rating.rate_the_store')}</h2>\n <p className=\"mb-2\">{testimonialRating.content}</p>\n <SallaRatingStars withLabel value={testimonialRating.rating} />\n </div>\n </section>\n )\n );\n })()}\n </>\n )}\n\n <HookSlot name=\"customer:orders.single.details.end\" />\n\n {order.actions.rateable && <SallaRatingModal />}\n\n {/* Reorder Modal */}\n {user && order.actions.reorderable && showReorderModal && (\n <SallaModal\n width=\"sm\"\n subTitle={t('pages.orders.reorder_confirmation')}\n iconStyle=\"success\"\n >\n <div slot=\"footer\" className=\"grid grid-cols-2 gap-3\">\n <SallaButton width=\"wide\" onClick={handleReorder} disabled={reorderState.loading}>\n {reorderState.loading ? (\n <span className=\"loader loader--small\"></span>\n ) : (\n t('common.elements.ok')\n )}\n </SallaButton>\n <SallaButton\n className=\"w-full\"\n fill=\"outline\"\n color=\"light\"\n onClick={() => setShowReorderModal(false)}\n disabled={reorderState.loading}\n >\n {t('common.elements.cancel')}\n </SallaButton>\n </div>\n </SallaModal>\n )}\n\n {/* Cancel Modal */}\n {order.actions.cancellable && showCancelModal && (\n <SallaModal width=\"sm\" subTitle={t('pages.orders.cancel_confirmation')} iconStyle=\"error\">\n <div slot=\"footer\" className=\"grid grid-cols-2 gap-3\">\n <SallaButton\n color=\"danger\"\n className=\"w-full cursor-pointer\"\n onClick={handleCancel}\n disabled={cancelState.loading}\n >\n {cancelState.loading ? (\n <span className=\"loader loader--small\"></span>\n ) : (\n t('common.elements.ok')\n )}\n </SallaButton>\n <SallaButton\n className=\"w-full\"\n fill=\"outline\"\n color=\"light\"\n onClick={() => setShowCancelModal(false)}\n disabled={cancelState.loading}\n >\n {t('common.elements.cancel')}\n </SallaButton>\n </div>\n </SallaModal>\n )}\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/routes/account/orders/OrderSinglePage.tsx"],"names":["ContentSkeleton","order"],"mappings":"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","file":"OrderSinglePage-PQ74PMJK.js","sourcesContent":["import { useState, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { SallaOrderDetails } from '@salla.sa/twilight-components-react/order-details';\nimport { SallaRatingStars } from '@salla.sa/twilight-components-react/rating-stars';\nimport { SallaRatingModal } from '@salla.sa/twilight-components-react/rating-modal';\nimport { SallaModal } from '@salla.sa/twilight-components-react/modal';\nimport { SallaEditOrderButton } from '@salla.sa/twilight-components-react/edit-order-button';\nimport { SallaOrderBranch } from '@salla.sa/twilight-components-react/order-branch';\nimport { SallaOrderTotalsCard } from '@salla.sa/twilight-components-react/order-totals-card';\nimport { HookSlot, useUser, useDate, usePageConfig } from '../../../hooks';\nimport { useAsyncFn } from '../../../hooks/useAsyncFn';\nimport { useMoney } from '../../../hooks/useMoney';\nimport type { OrderSinglePageProps } from '../types';\nimport { useTwilight } from '../../../providers/twilight-context';\nimport { useNavigate, useLocation } from '../../../providers/NavigationProvider';\n\nimport { Link, Image } from '../../../components/common';\nimport { useTranslation } from '../../../providers/I18nProvider';\nimport { order as orderApi } from '../../../api/order';\n\nconst ContentSkeleton = memo(function ContentSkeleton() {\n return (\n <div className=\"animate-pulse bg-white rounded-md p-5 space-y-3\">\n <div className=\"h-4 bg-gray-200 rounded w-1/3\" />\n <div className=\"h-4 bg-gray-200 rounded w-2/3\" />\n <div className=\"h-4 bg-gray-200 rounded w-1/2\" />\n </div>\n );\n});\n\nexport function OrderSinglePage({ order, page }: OrderSinglePageProps) {\n const { t, direction } = useTranslation();\n // `<salla-order-branch>` reads the order id from `salla.config.page.id`, which the router\n // only sets on client-side navigations — seed it so a direct load works too.\n usePageConfig(page);\n const { store } = useTwilight();\n const { data: user } = useUser();\n const navigate = useNavigate();\n const location = useLocation();\n const { format: formatDate } = useDate();\n const { format } = useMoney();\n const [showReorderModal, setShowReorderModal] = useState(false);\n const [showCancelModal, setShowCancelModal] = useState(false);\n\n const { data: shipments, isLoading: isLoadingShipments } = useQuery({\n ...orderApi.queries.shipments(String(order.id)),\n enabled: order.features.shippable,\n });\n const { data: ratings, isLoading: isLoadingRatings } = useQuery({\n ...orderApi.queries.ratings(String(order.id)),\n enabled: order.actions.rateable,\n });\n\n const [reorderState, handleReorder] = useAsyncFn(async () => {\n // Pass the order id explicitly: salla.js falls back to `salla.config.get('page.id')`,\n // which this SSR theme never sets, so a bare call would hit `reorder/undefined`.\n await window.salla?.order.createCartFromOrder(Number(order.id));\n setShowReorderModal(false);\n navigate('/cart');\n }, [navigate, order.id]);\n\n const [cancelState, handleCancel] = useAsyncFn(async () => {\n await window.salla?.order.cancel(Number(order.id));\n setShowCancelModal(false);\n // Invalidate current route to refetch order data. The router's own location,\n // not `window.location`: on a host where the store is the root, the address bar\n // carries the store segment and `navigate` would add it a second time.\n navigate(location.pathname, { replace: true });\n }, [navigate, order.id, location.pathname]);\n\n return (\n <div className=\"space-y-4\">\n <HookSlot name=\"customer:orders.single.details.start\" />\n\n {/* Gift orders are tagged; the edit button gates itself (edit window / order state). */}\n <div className=\"flex items-center justify-between gap-3 flex-wrap\">\n {order.type === 'buy_as_gift' || order.source?.type === 'buy_as_gift' ? (\n <span className=\"inline-block text-primary\">\n <i className=\"sicon-gift-sharing\"></i> {t('pages.orders.gift_tag', 'Gift order')}\n </span>\n ) : (\n <span />\n )}\n <SallaEditOrderButton orderId={String(order.id)} />\n </div>\n\n {/* Order Details Table */}\n <table className=\"min-w-full rounded-md overflow-hidden\">\n <tbody>\n <tr className=\"bg-white overflow-hidden flex md:table-row flex-row md:flex-row flex-wrap md:flex-no-wrap py-1.5 md:py-0\">\n <td className=\"single-order-header-item w-full md:w-auto px-3 md:px-6 py-2 md:py-4 md:h-20 whitespace-nowrap text-sm\">\n <div className=\"rtl:ml-2 ltr:mr-2 font-normal text-gray-400\">\n {t('pages.orders.date')}\n </div>\n <b>{formatDate(order.created_at.date)}</b>\n </td>\n\n <td className=\"single-order-header-item flex justify-between items-center w-full md:w-auto px-3 md:px-6 py-2 md:py-4 md:h-20 whitespace-nowrap text-sm\">\n <span\n className=\"text-primary inline-flex items-center rtl:space-x-reverse space-x-1\"\n style={{ color: order.status.color }}\n >\n {order.status.icon && <i className={`mt-1 ${order.status.icon}`}></i>}\n <span>{order.status.name}</span>\n </span>\n\n <div className=\"flex items-center justify-between\">\n {order.type === 'quote' && (\n <span className=\"text-red-500 ml-4\">\n {t('pages.orders.your_order_is_under_review')}\n </span>\n )}\n\n <div className=\"flex space-x-2 rtl:space-x-reverse text-start flex-none px-2\">\n {order.urls.digital_content && (\n <a\n href={order.urls.digital_content}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"salla-button salla-button--small\"\n >\n <span className=\"salla-button-text\">\n {t('pages.orders.digital')}\n <i\n className={\n user && direction === 'rtl'\n ? 'sicon-arrow-up-left'\n : 'sicon-arrow-up-right'\n }\n ></i>\n </span>\n </a>\n )}\n {order.urls.tracking?.map((trackingUrl) => (\n <a\n key={trackingUrl}\n href={trackingUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"salla-button salla-button--small\"\n >\n <span className=\"salla-button-text\">\n {t('pages.orders.tracking')}\n <i\n className={\n user && direction === 'rtl'\n ? 'sicon-arrow-up-left'\n : 'sicon-arrow-up-right'\n }\n ></i>\n </span>\n </a>\n ))}\n </div>\n\n {order.urls.receipt && (\n <SallaButton\n fill=\"outline\"\n size=\"small\"\n onClick={() =>\n window.open(\n order.urls.receipt,\n '_blank',\n 'toolbar=yes, scrollbars=yes, resizable=yes, width=900, height=700'\n )\n }\n >\n <i className=\"sicon-printer2 v-align\"></i>\n {t('pages.orders.print')}\n </SallaButton>\n )}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n {/* Pickup branch details — renders nothing for orders that aren't pickable */}\n <SallaOrderBranch stackCards />\n\n {/* Refund Message */}\n {order.refund_message && (\n <div className=\"min-w-full rounded-md overflow-hidden\">\n <div className=\"bg-white flex items-center gap-1 rounded-md px-3 py-5 md:px-5\">\n <i className=\"sicon-refund h-6 w-6\"></i>\n <p\n className=\"font-medium text-base\"\n dangerouslySetInnerHTML={{ __html: order.refund_message }}\n />\n </div>\n </div>\n )}\n\n {/* Rating Message */}\n {order.actions.rateable && (\n <div className=\"rating-header gradient-bg center-between\">\n <div>\n <h2 className=\"font-bold mb-1\">{t('pages.order.order_rating_title')}</h2>\n <p className=\"text-sm\">{t('pages.order.order_rating_message')}</p>\n </div>\n <SallaButton\n color=\"light\"\n className=\"btn--rounded-full !text-primary\"\n onClick={() => window.salla?.event.dispatch('rating::open')}\n >\n {t('pages.rating.rate')}\n </SallaButton>\n </div>\n )}\n\n {/* Rating Update Info Banner */}\n {store.settings?.rating?.allow_update && ratings && ratings.length > 0 && (\n <div className=\"flex items-start gap-2 bg-blue-50 border border-blue-200 text-blue-500 px-2 py-3 rounded-md text-sm\">\n <i className=\"sicon-info\"></i>\n <p>\n {t('pages.order.can_edit_or_delete_your_review_within')}{' '}\n {store.settings?.rating?.update_period} {t('pages.order.days_since_added')}.\n </p>\n </div>\n )}\n\n {/* Order Shipments */}\n {order.features.shippable &&\n (isLoadingShipments ? (\n <ContentSkeleton />\n ) : (\n shipments?.map((shipment) => (\n <div key={shipment.id} className=\"shipping-orders\">\n <div className=\"flex flex-col md:flex-row justify-between md:items-center bg-white px-5 py-3 border-b border-gray-100 rounded-t-md text-sm space-y-4 md:space-y-0\">\n <div className=\"flex items-center space-x-2 rtl:space-x-reverse\">\n <Image\n src={shipment.logo}\n className=\"max-w-16 max-h-8\"\n alt={shipment.name}\n aspectRatio=\"2/1\"\n />\n <span>{shipment.name}</span>\n </div>\n <div className=\"flex space-x-5 rtl:space-x-reverse\">\n {shipment.number && (\n <span>\n {t('pages.orders.shipment_no')}:{' '}\n <span className=\"font-bold\">{shipment.number}</span>\n </span>\n )}\n {shipment.tracking_url && (\n <a\n href={shipment.tracking_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"salla-button salla-button--link\"\n >\n <span className=\"sicon-shipping rtl:ml-1 ltr:mr-1\"></span>\n {t('pages.orders.tracking_url')}\n </a>\n )}\n </div>\n </div>\n </div>\n ))\n ))}\n\n {/* Order Items */}\n {order.items.map((item) => (\n <div\n key={item.id}\n data-order-item-id={item.id}\n data-order-item-product-id={item.product?.id}\n className=\"order-item bg-white p-5 border-b border-gray-100 first:rounded-t-md last:rounded-b-md last:border-none\"\n >\n <div className=\"mb-5 last:mb-0\">\n {item.product ? (\n <div className=\"flex rtl:space-x-reverse space-x-5 mb-4\">\n <Link to={item.product.url} className=\"shrink-0\">\n <Image\n src={item.image || '/images/placeholder.png'}\n alt={item.name}\n className={`w-18 h-14 object-${item.image ? 'cover' : 'contain'} rounded-md`}\n />\n </Link>\n <div>\n <Link\n to={item.product.url}\n className=\"block leading-5 mb-1.5 md:text-base font-semibold transition-colors text-gray-500 hover:text-primary\"\n >\n {item.name}\n </Link>\n <b>\n {format(item.amounts.amount?.amount, {\n currency: item.amounts.amount?.currency,\n })}\n </b>\n </div>\n </div>\n ) : (\n <div className=\"w-full flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">{item.name}</span>\n <b>\n {format(item.amounts.amount?.amount, { currency: item.amounts.amount?.currency })}\n </b>\n </div>\n )}\n\n <div className=\"w-full flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">\n {t('pages.products.quantity', 'Quantity')}\n </span>\n <b>{item.quantity}</b>\n </div>\n <div className=\"flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">\n {t('pages.products.price', 'Price')}\n </span>\n <b>{format(item.amounts.cost?.amount, { currency: item.amounts.cost?.currency })}</b>\n </div>\n <div className=\"flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">\n {t('pages.cart.total', 'Total')}\n </span>\n <b>\n {format(item.amounts.total?.amount, { currency: item.amounts.total?.currency })}\n </b>\n </div>\n </div>\n\n {/* Availability Date */}\n {item.availability_date && (\n <div className=\"flex gap-2 text-sm py-2.5 text-blue-500\">\n <i className=\"sicon-info\"></i>\n <span>\n {t('pages.products.expected_to_be')}: <b>{item.availability_date}</b>\n </span>\n </div>\n )}\n\n {/* Booking / Reservations */}\n {item.product?.type === 'booking' &&\n item.product_reservations &&\n (item.product_reservations as unknown[]).length > 0 && (\n <>\n {item.booking_location && (\n <ul className=\"font-medium text-xs text-gray-600\">\n <li className=\"py-1 flex justify-between items-baseline\">\n <span className=\"mt-5 mb-3.5 text-sm font-bold\">\n {t('common.elements.location')}\n </span>\n <span className=\"text-unicode\">{item.booking_location}</span>\n </li>\n </ul>\n )}\n <h3 className=\"mt-5 mb-3.5 text-sm font-bold\">\n {(item.product_reservations as unknown[]).length > 1\n ? t('pages.cart.reservations')\n : t('pages.cart.item_options')}\n </h3>\n <div className=\"rounded-md p-4 border border-gray-200 mb-2\">\n <SallaOrderDetails orderDetails={JSON.stringify(item)} />\n </div>\n </>\n )}\n\n {/* Order details (sub-products / options) — for non-booking items */}\n {!(\n item.product?.type === 'booking' &&\n item.product_reservations &&\n (item.product_reservations as unknown[]).length > 0\n ) && <SallaOrderDetails orderDetails={JSON.stringify(item)} />}\n\n {/* Product options (e.g. custom fields the merchant added to the\n product) — item.options exists on the API response but nothing\n rendered it; SallaOrderDetails above doesn't cover this data. */}\n {item.options && item.options.length > 0 && (\n <div className=\"mt-3\">\n <h3 className=\"mb-2 text-sm font-bold\">\n {t('pages.cart.item_options', 'Product Options')}\n </h3>\n <div className=\"rounded-md border border-gray-200 divide-y divide-gray-200\">\n {item.options.map((option) => (\n <div\n key={option.name}\n className=\"flex items-center justify-between gap-4 px-4 py-2.5 text-sm\"\n >\n <span className=\"font-normal text-gray-500\">{option.name}</span>\n {option.is_image ? (\n <Image\n src={option.value}\n alt={option.name}\n className=\"h-7 w-7 rounded-md object-cover\"\n />\n ) : option.color ? (\n <span className=\"inline-flex items-center gap-2\">\n <span\n className=\"h-4 w-4 rounded-full border border-gray-200\"\n style={{ backgroundColor: option.color }}\n />\n <b>{option.value}</b>\n </span>\n ) : (\n <b>{option.value}</b>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {item.note && (\n <p className=\"mt-3 text-sm text-gray-500\">\n <span>{t('common.elements.note', 'Note')}: </span>\n {item.note}\n </p>\n )}\n\n {/* Attachments */}\n {item.attachments && item.attachments.length > 0 && (\n <div className=\"flow-root rounded-md px-4 border border-gray-200\">\n <dl className=\"text-sm text-dark divide-y divide-border-color\">\n {item.attachments.map((attachment) => (\n <div\n key={`${attachment.type}:${attachment.url}`}\n className=\"py-3.5 md:flex items-center justify-between\"\n >\n <dt className=\"mb-2 md:mb-0\">{t('pages.products.attachments')}</dt>\n <dd\n className={`font-medium ${attachment.type === 'image' ? 'text-gray-900' : 'text-xs'}`}\n >\n {attachment.type === 'image' && attachment.url ? (\n <div className=\"flex rtl:space-x-reverse space-x-2.5\">\n <a href={attachment.url} target=\"_blank\" rel=\"noopener noreferrer\">\n <Image\n className=\"h-7 w-7 object-cover rounded-md\"\n src={attachment.url}\n alt={item.name}\n />\n </a>\n </div>\n ) : (\n <a href={attachment.url}>{t('pages.orders.file_url')}</a>\n )}\n </dd>\n </div>\n ))}\n </dl>\n </div>\n )}\n </div>\n ))}\n\n {/* Order Totals */}\n <SallaOrderTotalsCard amounts={JSON.stringify(order.amounts)} {...({} as any)} />\n\n {/* Reorder & Cancel Actions */}\n {(order.actions.reorderable || order.actions.cancellable || order.actions.payable) && (\n <div className=\"bg-white rounded-md p-5 divide-y divide-border-color space-y-4\">\n {(order.actions.reorderable || order.actions.payable) && (\n <div className={order.actions.payable ? 'flex-center' : 'center-between'}>\n {order.actions.payable ? (\n (order.payment?.pending_payment_ends_at ?? 0) === 0 ? (\n <span className=\"text-red-500\">{t('pages.orders.pending_payment_expired')}</span>\n ) : order.urls.checkout ? (\n <SallaButton width=\"wide\" href={order.urls.checkout}>\n <i className=\"sicon sicon-wallet rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.finish_payment')}</span>\n </SallaButton>\n ) : (\n <span className=\"text-red-500\">{t('pages.orders.pending_payment_expired')}</span>\n )\n ) : user ? (\n <>\n <div className=\"text-sm\">\n <h3 className=\"font-bold text-lg leading-none mb-1\">\n {t('pages.orders.reorder')}\n </h3>\n <p className=\"text-gray-500\">{t('pages.orders.reorder_description')}</p>\n </div>\n <SallaButton onClick={() => setShowReorderModal(true)}>\n <i className=\"sicon sicon-rotate rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.reorder')}</span>\n </SallaButton>\n </>\n ) : null}\n </div>\n )}\n\n {order.actions.cancellable && (\n <div className=\"center-between pt-4\">\n <div className=\"text-sm\">\n <h3 className=\"font-bold text-lg leading-none mb-1\">{t('pages.orders.cancel')}</h3>\n <p className=\"text-gray-500\">{t('pages.order.order_cancelation_desc')}</p>\n </div>\n <SallaButton shape=\"link\" color=\"danger\" onClick={() => setShowCancelModal(true)}>\n <i className=\"sicon sicon-cancel-circle rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.cancel')}</span>\n </SallaButton>\n </div>\n )}\n </div>\n )}\n\n {/* Ratings */}\n {isLoadingRatings ? (\n <ContentSkeleton />\n ) : (\n <>\n {/* Product Ratings (type: \"rating\") */}\n {ratings?.map(\n (rating) =>\n rating.type === 'rating' && (\n <section\n key={rating.id}\n className=\"flex justify-between items-start bg-white p-5 rounded-md\"\n >\n <div>\n <p className=\"mb-2\">{rating.content}</p>\n <SallaRatingStars withLabel size=\"small\" value={rating.rating} />\n {rating.images?.map(\n (img) =>\n img && (\n <Image\n key={img}\n className=\"w-20 h-20 object-cover rounded-md mt-2 mr-2 inline-block\"\n src={img}\n alt=\"\"\n />\n )\n )}\n </div>\n </section>\n )\n )}\n\n {(() => {\n const shippingRating = ratings?.find((r) => r.type === 'shipping');\n return (\n shippingRating && (\n <section className=\"flex justify-between items-start bg-white p-5 rounded-md\">\n <div>\n <h2 className=\"text-lg font-bold mb-5\">{t('pages.rating.rate_shipping')}</h2>\n <p className=\"mb-2\">{shippingRating.content}</p>\n <SallaRatingStars withLabel value={shippingRating.rating} />\n </div>\n </section>\n )\n );\n })()}\n\n {(() => {\n const testimonialRating = ratings?.find((r) => r.type === 'testimonial');\n return (\n testimonialRating && (\n <section className=\"flex justify-between items-start bg-white p-5 rounded-md\">\n <div>\n <h2 className=\"text-lg font-bold mb-5\">{t('pages.rating.rate_the_store')}</h2>\n <p className=\"mb-2\">{testimonialRating.content}</p>\n <SallaRatingStars withLabel value={testimonialRating.rating} />\n </div>\n </section>\n )\n );\n })()}\n </>\n )}\n\n <HookSlot name=\"customer:orders.single.details.end\" />\n\n {order.actions.rateable && <SallaRatingModal />}\n\n {/* Reorder Modal */}\n {user && order.actions.reorderable && showReorderModal && (\n <SallaModal\n width=\"sm\"\n subTitle={t('pages.orders.reorder_confirmation')}\n iconStyle=\"success\"\n >\n <div slot=\"footer\" className=\"grid grid-cols-2 gap-3\">\n <SallaButton width=\"wide\" onClick={handleReorder} disabled={reorderState.loading}>\n {reorderState.loading ? (\n <span className=\"loader loader--small\"></span>\n ) : (\n t('common.elements.ok')\n )}\n </SallaButton>\n <SallaButton\n className=\"w-full\"\n fill=\"outline\"\n color=\"light\"\n onClick={() => setShowReorderModal(false)}\n disabled={reorderState.loading}\n >\n {t('common.elements.cancel')}\n </SallaButton>\n </div>\n </SallaModal>\n )}\n\n {/* Cancel Modal */}\n {order.actions.cancellable && showCancelModal && (\n <SallaModal width=\"sm\" subTitle={t('pages.orders.cancel_confirmation')} iconStyle=\"error\">\n <div slot=\"footer\" className=\"grid grid-cols-2 gap-3\">\n <SallaButton\n color=\"danger\"\n className=\"w-full cursor-pointer\"\n onClick={handleCancel}\n disabled={cancelState.loading}\n >\n {cancelState.loading ? (\n <span className=\"loader loader--small\"></span>\n ) : (\n t('common.elements.ok')\n )}\n </SallaButton>\n <SallaButton\n className=\"w-full\"\n fill=\"outline\"\n color=\"light\"\n onClick={() => setShowCancelModal(false)}\n disabled={cancelState.loading}\n >\n {t('common.elements.cancel')}\n </SallaButton>\n </div>\n </SallaModal>\n )}\n </div>\n );\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { order } from './chunk-QM75GGXX.js';
|
|
2
|
-
import { useDate, useMoney } from './chunk-
|
|
3
|
-
import './chunk-
|
|
2
|
+
import { useDate, useMoney } from './chunk-NSSKTF6I.js';
|
|
3
|
+
import './chunk-F5IEB43R.js';
|
|
4
4
|
import './chunk-JKIRRMBU.js';
|
|
5
5
|
import './chunk-2JV6WZ6O.js';
|
|
6
6
|
import './chunk-6IATCGID.js';
|
|
@@ -31,7 +31,7 @@ import './chunk-YMVLYYLU.js';
|
|
|
31
31
|
import './chunk-RJPPO3ET.js';
|
|
32
32
|
import { HookSlot } from './chunk-Q7VWURUR.js';
|
|
33
33
|
import './chunk-GU2KUQVD.js';
|
|
34
|
-
import { LazyNoContent } from './chunk-
|
|
34
|
+
import { LazyNoContent } from './chunk-NQ5FQOE2.js';
|
|
35
35
|
import { Link } from './chunk-AXW67SY7.js';
|
|
36
36
|
import './chunk-BYMOPN2S.js';
|
|
37
37
|
import './chunk-SKLEJJ6M.js';
|
|
@@ -247,5 +247,5 @@ function OrderRow({ order: order2 }) {
|
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
export { OrdersPage };
|
|
250
|
-
//# sourceMappingURL=OrdersPage-
|
|
251
|
-
//# sourceMappingURL=OrdersPage-
|
|
250
|
+
//# sourceMappingURL=OrdersPage-7NGAJPK2.js.map
|
|
251
|
+
//# sourceMappingURL=OrdersPage-7NGAJPK2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/routes/account/orders/OrdersPage.tsx"],"names":["order"],"mappings":"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","file":"OrdersPage-Z274BZQB.js","sourcesContent":["import { useState, useRef, useCallback } from 'react';\nimport { useCopyToClipboard } from '@uidotdev/usehooks';\nimport { ItemsList } from '@salla.sa/twilight-components-react';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { HookSlot, useDate, useMoney } from '../../../hooks';\nimport { NoContent, Link } from '../../../components/common';\nimport { useTranslation } from '../../../providers/I18nProvider';\nimport { useNavigate, useLocation } from '../../../providers/NavigationProvider';\nimport { order } from '../../../api/order';\nimport type { OrdersPageProps, OrderListItem } from './types';\n\ntype StatusOption = { slug: string; name: string };\n\n/**\n * Label for a selected status that isn't among the loaded orders (e.g. arriving on\n * `?status=pending` from the account menu, where no order names it). Always a translation\n * key, never a hard-coded string: the \"pending payments\" title for `pending`, otherwise\n * `pages.orders.status_<slug>` (a store or theme can define it for any status), falling back\n * to the slug made readable only when no such key exists.\n */\nfunction statusLabel(slug: string, t: ReturnType<typeof useTranslation>['t']): string {\n if (slug === 'pending') return t('common.titles.pending_orders', 'Pending payments');\n const words = slug.replace(/[_-]+/g, ' ').trim();\n return t(`pages.orders.status_${slug}`, words.charAt(0).toUpperCase() + words.slice(1));\n}\n\n/**\n * Adds the statuses found on `orders` to `known`. Only orders with a status `slug` count:\n * the loader and API filter by that identifier, and a display name (`Pending`, or a\n * localized label) would select nothing.\n */\nfunction mergeStatuses(known: StatusOption[], orders: OrderListItem[]): StatusOption[] {\n const seen = new Map(known.map((status) => [status.slug, status]));\n for (const item of orders) {\n const slug = item.status?.slug;\n if (slug && !seen.has(slug)) seen.set(slug, { slug, name: item.status.name });\n }\n return seen.size === known.length ? known : Array.from(seen.values());\n}\n\n/**\n * Status filter (\"All\" plus every status seen so far), as a labelled group of toggle\n * buttons — it filters one list through the URL, so it isn't a tab widget.\n *\n * There is no \"list every status this store uses\" endpoint, so the options are the\n * statuses seen so far: those on the loaded orders (the parent accumulates them across\n * filter changes and cursor pages) plus the selected one, so \"All\" stays available even\n * when a status has no orders.\n */\nfunction OrdersFilters({\n statuses,\n selectedStatus,\n}: {\n statuses: StatusOption[];\n selectedStatus?: string;\n}) {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n\n const options =\n selectedStatus && !statuses.some((status) => status.slug === selectedStatus)\n ? [...statuses, { slug: selectedStatus, name: statusLabel(selectedStatus, t) }]\n : statuses;\n\n if (options.length === 0) return null;\n\n const setStatus = (slug?: string) => {\n const params = new URLSearchParams(location.searchStr);\n if (slug) params.set('status', slug);\n else params.delete('status');\n const search = params.toString();\n navigate(location.pathname + (search ? `?${search}` : ''));\n };\n\n return (\n <div className=\"s-orders-filters\" role=\"group\" aria-label={t('pages.orders.status')}>\n <button\n type=\"button\"\n aria-pressed={!selectedStatus}\n className={`s-orders-filters-item${!selectedStatus ? ' s-orders-filters-item-active' : ''}`}\n onClick={() => setStatus()}\n >\n {t('common.elements.all', 'All')}\n </button>\n {options.map((status) => (\n <button\n key={status.slug}\n type=\"button\"\n aria-pressed={selectedStatus === status.slug}\n className={`s-orders-filters-item${selectedStatus === status.slug ? ' s-orders-filters-item-active' : ''}`}\n onClick={() => setStatus(status.slug)}\n >\n {status.name}\n </button>\n ))}\n </div>\n );\n}\n\nexport function OrdersPage({ orders, cursor, query }: OrdersPageProps) {\n const { t } = useTranslation();\n const cursorRef = useRef<string | null>(cursor?.next ?? null);\n const prevQueryRef = useRef(query);\n if (prevQueryRef.current !== query) {\n prevQueryRef.current = query;\n cursorRef.current = cursor?.next ?? null;\n }\n\n // Statuses seen so far — kept across filter changes and cursor pages so the options\n // don't narrow to the selected status.\n const [statuses, setStatuses] = useState<StatusOption[]>(() => mergeStatuses([], orders));\n // Fold in a new `orders` prop while rendering (React's documented alternative to an\n // effect), so the options never lag a render behind the list.\n const [seenOrders, setSeenOrders] = useState(orders);\n if (seenOrders !== orders) {\n setSeenOrders(orders);\n setStatuses((known) => mergeStatuses(known, orders));\n }\n\n const loader = useCallback(async () => {\n if (!cursorRef.current) return { items: [], next: null };\n\n const response = await order.list({\n cursor: cursorRef.current,\n status: query?.status,\n feedback_status: query?.feedback_status,\n });\n cursorRef.current = response.cursor?.next ?? null;\n setStatuses((known) => mergeStatuses(known, response.data));\n return {\n items: response.data,\n next: response.cursor?.next ?? null,\n };\n }, [query]);\n\n return (\n <>\n <HookSlot name=\"customer:orders.index.items.start\" />\n\n <OrdersFilters statuses={statuses} selectedStatus={query?.status} />\n\n {orders.length === 0 ? (\n <NoContent icon=\"sicon-packed-box\" message={t('pages.orders.non_orders')} />\n ) : (\n <ItemsList\n items={orders}\n loader={cursor?.next ? loader : undefined}\n mode=\"button\"\n className=\"s-orders-wrapper\"\n t={(key, fallback) => t(key, fallback ?? '')}\n >\n {(items: OrderListItem[]) => (\n <table className=\"s-orders-table\">\n <thead className=\"s-orders-table-head\">\n <tr className=\"s-orders-table-head-tr\">\n <th className=\"s-orders-table-head-tr-th\" scope=\"col\">\n {t('pages.thank_you.order_id')}\n </th>\n <th className=\"s-orders-table-head-tr-th\" scope=\"col\">\n {t('pages.orders.total')}\n </th>\n <th className=\"s-orders-table-head-tr-th\" scope=\"col\">\n {t('pages.orders.date')}\n </th>\n <th className=\"s-orders-table-head-tr-th\" scope=\"col\">\n {t('pages.orders.status')}\n </th>\n </tr>\n </thead>\n <tbody className=\"s-orders-table-tbody\">\n {items.map((orderItem) => (\n <OrderRow key={orderItem.id} order={orderItem} />\n ))}\n </tbody>\n </table>\n )}\n </ItemsList>\n )}\n\n <HookSlot name=\"customer:orders.index.items.end\" />\n </>\n );\n}\n\nfunction OrderRow({ order }: { order: OrderListItem }) {\n const { t, isRTL } = useTranslation();\n const { format: formatDate } = useDate();\n const { format: formatMoney } = useMoney();\n const [, copyToClipboard] = useCopyToClipboard();\n const [copied, setCopied] = useState(false);\n const orderUrl = `/account/orders/${order.id}`;\n\n const handleCopy = (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n copyToClipboard(String(order.reference_id));\n setCopied(true);\n setTimeout(() => setCopied(false), 1000);\n };\n\n return (\n <tr className=\"s-orders-table-tbody-tr s-orders-table-tbody-tr-shadow\">\n <td className=\"s-orders-table-tbody-tr-td\">\n <div className=\"s-orders-table-tbody-tr-td-content\">\n <span className=\"s-orders-mobile-title\">{t('pages.thank_you.order_id')}:</span>\n <span className=\"s-orders-reference-id hidden md:inline-block\">\n #{order.reference_id}\n </span>\n <Link to={orderUrl} aria-label={t('pages.thank_you.order_id')} />\n <div className=\"s-orders-copy-to-clipboard-button flex items-center md:hidden\">\n <SallaButton\n className={`relative ${copied ? 'copied' : 'code-to-copy'}`}\n color=\"dark\"\n shape=\"link\"\n data-content={order.reference_id.toString()}\n onClick={handleCopy}\n >\n {isRTL ? (\n <>\n <i className=\"sicon-swap-stroke s-orders-copy-to-clipboard-button-icon pointer-events-none rtl:mr-1 ltr:ml-1\" />\n <span>#{order.reference_id}</span>\n </>\n ) : (\n <>\n <span>#{order.reference_id}</span>\n <i className=\"sicon-swap-stroke s-orders-copy-to-clipboard-button-icon pointer-events-none rtl:mr-1 ltr:ml-1\" />\n </>\n )}\n </SallaButton>\n </div>\n </div>\n </td>\n\n <td className=\"s-orders-table-tbody-tr-td\">\n <div className=\"s-orders-table-tbody-tr-td-content\">\n <span className=\"s-orders-mobile-title\">{t('pages.orders.total')}:</span>\n {formatMoney(order.amounts.total.amount, { currency: order.amounts.total.currency })}\n <Link to={orderUrl} aria-label={t('pages.orders.total')} />\n </div>\n </td>\n\n <td className=\"s-orders-table-tbody-tr-td\">\n <div className=\"s-orders-table-tbody-tr-td-content\">\n <span className=\"s-orders-mobile-title\">{t('pages.orders.date')}:</span>\n {formatDate(order.created_at.date)}\n <Link to={orderUrl} aria-label={t('pages.orders.date')} />\n </div>\n </td>\n\n <td className=\"s-orders-table-tbody-tr-td\">\n <div className=\"s-orders-table-tbody-tr-td-content\">\n <span className=\"s-orders-mobile-title\">{t('pages.orders.status')}:</span>\n <span\n className=\"s-orders-status-container rtl:mr-auto ltr:ml-auto md:mx-0\"\n style={order.status.color ? { color: order.status.color } : undefined}\n >\n {order.status.icon && <i className={`mt-1 ${order.status.icon}`} />}\n <span>{order.status.name}</span>\n </span>\n <i\n className={`sicon-star2 s-orders-status-rated ${\n order.features.is_read ? 's-orders-rated-text' : 's-orders-unrated-text'\n }`}\n />\n <Link to={orderUrl} aria-label={t('pages.orders.status')} />\n </div>\n </td>\n </tr>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/routes/account/orders/OrdersPage.tsx"],"names":["order"],"mappings":"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","file":"OrdersPage-7NGAJPK2.js","sourcesContent":["import { useState, useRef, useCallback } from 'react';\nimport { useCopyToClipboard } from '@uidotdev/usehooks';\nimport { ItemsList } from '@salla.sa/twilight-components-react';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { HookSlot, useDate, useMoney } from '../../../hooks';\nimport { NoContent, Link } from '../../../components/common';\nimport { useTranslation } from '../../../providers/I18nProvider';\nimport { useNavigate, useLocation } from '../../../providers/NavigationProvider';\nimport { order } from '../../../api/order';\nimport type { OrdersPageProps, OrderListItem } from './types';\n\ntype StatusOption = { slug: string; name: string };\n\n/**\n * Label for a selected status that isn't among the loaded orders (e.g. arriving on\n * `?status=pending` from the account menu, where no order names it). Always a translation\n * key, never a hard-coded string: the \"pending payments\" title for `pending`, otherwise\n * `pages.orders.status_<slug>` (a store or theme can define it for any status), falling back\n * to the slug made readable only when no such key exists.\n */\nfunction statusLabel(slug: string, t: ReturnType<typeof useTranslation>['t']): string {\n if (slug === 'pending') return t('common.titles.pending_orders', 'Pending payments');\n const words = slug.replace(/[_-]+/g, ' ').trim();\n return t(`pages.orders.status_${slug}`, words.charAt(0).toUpperCase() + words.slice(1));\n}\n\n/**\n * Adds the statuses found on `orders` to `known`. Only orders with a status `slug` count:\n * the loader and API filter by that identifier, and a display name (`Pending`, or a\n * localized label) would select nothing.\n */\nfunction mergeStatuses(known: StatusOption[], orders: OrderListItem[]): StatusOption[] {\n const seen = new Map(known.map((status) => [status.slug, status]));\n for (const item of orders) {\n const slug = item.status?.slug;\n if (slug && !seen.has(slug)) seen.set(slug, { slug, name: item.status.name });\n }\n return seen.size === known.length ? known : Array.from(seen.values());\n}\n\n/**\n * Status filter (\"All\" plus every status seen so far), as a labelled group of toggle\n * buttons — it filters one list through the URL, so it isn't a tab widget.\n *\n * There is no \"list every status this store uses\" endpoint, so the options are the\n * statuses seen so far: those on the loaded orders (the parent accumulates them across\n * filter changes and cursor pages) plus the selected one, so \"All\" stays available even\n * when a status has no orders.\n */\nfunction OrdersFilters({\n statuses,\n selectedStatus,\n}: {\n statuses: StatusOption[];\n selectedStatus?: string;\n}) {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n\n const options =\n selectedStatus && !statuses.some((status) => status.slug === selectedStatus)\n ? [...statuses, { slug: selectedStatus, name: statusLabel(selectedStatus, t) }]\n : statuses;\n\n if (options.length === 0) return null;\n\n const setStatus = (slug?: string) => {\n const params = new URLSearchParams(location.searchStr);\n if (slug) params.set('status', slug);\n else params.delete('status');\n const search = params.toString();\n navigate(location.pathname + (search ? `?${search}` : ''));\n };\n\n return (\n <div className=\"s-orders-filters\" role=\"group\" aria-label={t('pages.orders.status')}>\n <button\n type=\"button\"\n aria-pressed={!selectedStatus}\n className={`s-orders-filters-item${!selectedStatus ? ' s-orders-filters-item-active' : ''}`}\n onClick={() => setStatus()}\n >\n {t('common.elements.all', 'All')}\n </button>\n {options.map((status) => (\n <button\n key={status.slug}\n type=\"button\"\n aria-pressed={selectedStatus === status.slug}\n className={`s-orders-filters-item${selectedStatus === status.slug ? ' s-orders-filters-item-active' : ''}`}\n onClick={() => setStatus(status.slug)}\n >\n {status.name}\n </button>\n ))}\n </div>\n );\n}\n\nexport function OrdersPage({ orders, cursor, query }: OrdersPageProps) {\n const { t } = useTranslation();\n const cursorRef = useRef<string | null>(cursor?.next ?? null);\n const prevQueryRef = useRef(query);\n if (prevQueryRef.current !== query) {\n prevQueryRef.current = query;\n cursorRef.current = cursor?.next ?? null;\n }\n\n // Statuses seen so far — kept across filter changes and cursor pages so the options\n // don't narrow to the selected status.\n const [statuses, setStatuses] = useState<StatusOption[]>(() => mergeStatuses([], orders));\n // Fold in a new `orders` prop while rendering (React's documented alternative to an\n // effect), so the options never lag a render behind the list.\n const [seenOrders, setSeenOrders] = useState(orders);\n if (seenOrders !== orders) {\n setSeenOrders(orders);\n setStatuses((known) => mergeStatuses(known, orders));\n }\n\n const loader = useCallback(async () => {\n if (!cursorRef.current) return { items: [], next: null };\n\n const response = await order.list({\n cursor: cursorRef.current,\n status: query?.status,\n feedback_status: query?.feedback_status,\n });\n cursorRef.current = response.cursor?.next ?? null;\n setStatuses((known) => mergeStatuses(known, response.data));\n return {\n items: response.data,\n next: response.cursor?.next ?? null,\n };\n }, [query]);\n\n return (\n <>\n <HookSlot name=\"customer:orders.index.items.start\" />\n\n <OrdersFilters statuses={statuses} selectedStatus={query?.status} />\n\n {orders.length === 0 ? (\n <NoContent icon=\"sicon-packed-box\" message={t('pages.orders.non_orders')} />\n ) : (\n <ItemsList\n items={orders}\n loader={cursor?.next ? loader : undefined}\n mode=\"button\"\n className=\"s-orders-wrapper\"\n t={(key, fallback) => t(key, fallback ?? '')}\n >\n {(items: OrderListItem[]) => (\n <table className=\"s-orders-table\">\n <thead className=\"s-orders-table-head\">\n <tr className=\"s-orders-table-head-tr\">\n <th className=\"s-orders-table-head-tr-th\" scope=\"col\">\n {t('pages.thank_you.order_id')}\n </th>\n <th className=\"s-orders-table-head-tr-th\" scope=\"col\">\n {t('pages.orders.total')}\n </th>\n <th className=\"s-orders-table-head-tr-th\" scope=\"col\">\n {t('pages.orders.date')}\n </th>\n <th className=\"s-orders-table-head-tr-th\" scope=\"col\">\n {t('pages.orders.status')}\n </th>\n </tr>\n </thead>\n <tbody className=\"s-orders-table-tbody\">\n {items.map((orderItem) => (\n <OrderRow key={orderItem.id} order={orderItem} />\n ))}\n </tbody>\n </table>\n )}\n </ItemsList>\n )}\n\n <HookSlot name=\"customer:orders.index.items.end\" />\n </>\n );\n}\n\nfunction OrderRow({ order }: { order: OrderListItem }) {\n const { t, isRTL } = useTranslation();\n const { format: formatDate } = useDate();\n const { format: formatMoney } = useMoney();\n const [, copyToClipboard] = useCopyToClipboard();\n const [copied, setCopied] = useState(false);\n const orderUrl = `/account/orders/${order.id}`;\n\n const handleCopy = (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n copyToClipboard(String(order.reference_id));\n setCopied(true);\n setTimeout(() => setCopied(false), 1000);\n };\n\n return (\n <tr className=\"s-orders-table-tbody-tr s-orders-table-tbody-tr-shadow\">\n <td className=\"s-orders-table-tbody-tr-td\">\n <div className=\"s-orders-table-tbody-tr-td-content\">\n <span className=\"s-orders-mobile-title\">{t('pages.thank_you.order_id')}:</span>\n <span className=\"s-orders-reference-id hidden md:inline-block\">\n #{order.reference_id}\n </span>\n <Link to={orderUrl} aria-label={t('pages.thank_you.order_id')} />\n <div className=\"s-orders-copy-to-clipboard-button flex items-center md:hidden\">\n <SallaButton\n className={`relative ${copied ? 'copied' : 'code-to-copy'}`}\n color=\"dark\"\n shape=\"link\"\n data-content={order.reference_id.toString()}\n onClick={handleCopy}\n >\n {isRTL ? (\n <>\n <i className=\"sicon-swap-stroke s-orders-copy-to-clipboard-button-icon pointer-events-none rtl:mr-1 ltr:ml-1\" />\n <span>#{order.reference_id}</span>\n </>\n ) : (\n <>\n <span>#{order.reference_id}</span>\n <i className=\"sicon-swap-stroke s-orders-copy-to-clipboard-button-icon pointer-events-none rtl:mr-1 ltr:ml-1\" />\n </>\n )}\n </SallaButton>\n </div>\n </div>\n </td>\n\n <td className=\"s-orders-table-tbody-tr-td\">\n <div className=\"s-orders-table-tbody-tr-td-content\">\n <span className=\"s-orders-mobile-title\">{t('pages.orders.total')}:</span>\n {formatMoney(order.amounts.total.amount, { currency: order.amounts.total.currency })}\n <Link to={orderUrl} aria-label={t('pages.orders.total')} />\n </div>\n </td>\n\n <td className=\"s-orders-table-tbody-tr-td\">\n <div className=\"s-orders-table-tbody-tr-td-content\">\n <span className=\"s-orders-mobile-title\">{t('pages.orders.date')}:</span>\n {formatDate(order.created_at.date)}\n <Link to={orderUrl} aria-label={t('pages.orders.date')} />\n </div>\n </td>\n\n <td className=\"s-orders-table-tbody-tr-td\">\n <div className=\"s-orders-table-tbody-tr-td-content\">\n <span className=\"s-orders-mobile-title\">{t('pages.orders.status')}:</span>\n <span\n className=\"s-orders-status-container rtl:mr-auto ltr:ml-auto md:mx-0\"\n style={order.status.color ? { color: order.status.color } : undefined}\n >\n {order.status.icon && <i className={`mt-1 ${order.status.icon}`} />}\n <span>{order.status.name}</span>\n </span>\n <i\n className={`sicon-star2 s-orders-status-rated ${\n order.features.is_read ? 's-orders-rated-text' : 's-orders-unrated-text'\n }`}\n />\n <Link to={orderUrl} aria-label={t('pages.orders.status')} />\n </div>\n </td>\n </tr>\n );\n}\n"]}
|