@salla.sa/twilight-theme-engine 1.0.90 → 1.0.92
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-QMTJMDBE.js → AddToCartForm-NJDWY5UO.js} +3 -3
- package/dist/{AddToCartForm-QMTJMDBE.js.map → AddToCartForm-NJDWY5UO.js.map} +1 -1
- package/dist/{BlogAuthorPage-JFPJVF5V.js → BlogAuthorPage-KNLY6INT.js} +7 -7
- package/dist/{BlogAuthorPage-JFPJVF5V.js.map → BlogAuthorPage-KNLY6INT.js.map} +1 -1
- package/dist/{BlogCategoryPage-PC5O2VXV.js → BlogCategoryPage-PKJJEVJN.js} +7 -7
- package/dist/{BlogCategoryPage-PC5O2VXV.js.map → BlogCategoryPage-PKJJEVJN.js.map} +1 -1
- package/dist/{BlogPage-Q7C2PQ4S.js → BlogPage-JSCQWH4K.js} +6 -6
- package/dist/{BlogPage-Q7C2PQ4S.js.map → BlogPage-JSCQWH4K.js.map} +1 -1
- package/dist/{BlogSinglePage-BFJVMLFS.js → BlogSinglePage-VGSUYBPQ.js} +6 -6
- package/dist/{BlogSinglePage-BFJVMLFS.js.map → BlogSinglePage-VGSUYBPQ.js.map} +1 -1
- package/dist/{BlogTagPage-K2MV4GUT.js → BlogTagPage-7RBVWWVO.js} +7 -7
- package/dist/{BlogTagPage-K2MV4GUT.js.map → BlogTagPage-7RBVWWVO.js.map} +1 -1
- package/dist/{BrandsPage-A267NG34.js → BrandsPage-2EZAYDFS.js} +6 -6
- package/dist/{BrandsPage-A267NG34.js.map → BrandsPage-2EZAYDFS.js.map} +1 -1
- package/dist/{Breadcrumb-PPVWWX5S.js → Breadcrumb-3BZBCWDK.js} +6 -6
- package/dist/{Breadcrumb-PPVWWX5S.js.map → Breadcrumb-3BZBCWDK.js.map} +1 -1
- package/dist/{CartItem-AHUDNTQR.js → CartItem-O6DFABXA.js} +6 -6
- package/dist/{CartItem-AHUDNTQR.js.map → CartItem-O6DFABXA.js.map} +1 -1
- package/dist/{CartSummary-S67UB3AG.js → CartSummary-3U4F2BLY.js} +6 -6
- package/dist/{CartSummary-S67UB3AG.js.map → CartSummary-3U4F2BLY.js.map} +1 -1
- package/dist/{Copyright-DR4ZT2CS.js → Copyright-UGII52NH.js} +3 -3
- package/dist/{Copyright-DR4ZT2CS.js.map → Copyright-UGII52NH.js.map} +1 -1
- package/dist/{CustomerLayout-MPRNNYLC.js → CustomerLayout-EI2PAOU6.js} +6 -6
- package/dist/{CustomerLayout-MPRNNYLC.js.map → CustomerLayout-EI2PAOU6.js.map} +1 -1
- package/dist/{Footer-JLIWTJ5D.js → Footer-TW4N2GMF.js} +4 -4
- package/dist/{Footer-JLIWTJ5D.js.map → Footer-TW4N2GMF.js.map} +1 -1
- package/dist/{Header-5WISG7DQ.js → Header-YW7FOVIW.js} +4 -4
- package/dist/{Header-5WISG7DQ.js.map → Header-YW7FOVIW.js.map} +1 -1
- package/dist/{LoyaltyPage-2DNT5B4C.js → LoyaltyPage-G6IYKWME.js} +6 -6
- package/dist/{LoyaltyPage-2DNT5B4C.js.map → LoyaltyPage-G6IYKWME.js.map} +1 -1
- package/dist/{LoyaltyPointsPage-XQUSSPMN.js → LoyaltyPointsPage-RXXL6C74.js} +3 -3
- package/dist/{LoyaltyPointsPage-XQUSSPMN.js.map → LoyaltyPointsPage-RXXL6C74.js.map} +1 -1
- package/dist/{MainMenu-32JMOTLQ.js → MainMenu-7KRYJ7OP.js} +3 -3
- package/dist/{MainMenu-32JMOTLQ.js.map → MainMenu-7KRYJ7OP.js.map} +1 -1
- package/dist/{MasterLayout-OMAGB4P6.js → MasterLayout-WLLTQJAY.js} +6 -6
- package/dist/{MasterLayout-OMAGB4P6.js.map → MasterLayout-WLLTQJAY.js.map} +1 -1
- package/dist/{MobileMenu-GJFKTT7L.js → MobileMenu-MV4SBF2W.js} +6 -6
- package/dist/{MobileMenu-GJFKTT7L.js.map → MobileMenu-MV4SBF2W.js.map} +1 -1
- package/dist/{NotificationsPage-6DFTZNHX.js → NotificationsPage-MSVZN25W.js} +6 -6
- package/dist/{NotificationsPage-6DFTZNHX.js.map → NotificationsPage-MSVZN25W.js.map} +1 -1
- package/dist/{OrderSinglePage-F7WGLADB.js → OrderSinglePage-3YXNPLEV.js} +6 -6
- package/dist/{OrderSinglePage-F7WGLADB.js.map → OrderSinglePage-3YXNPLEV.js.map} +1 -1
- package/dist/{OrdersPage-EPGA6BGW.js → OrdersPage-JXQSQLSQ.js} +6 -6
- package/dist/{OrdersPage-EPGA6BGW.js.map → OrdersPage-JXQSQLSQ.js.map} +1 -1
- package/dist/{PageSingle-MGSXARK3.js → PageSingle-4S2G45RQ.js} +3 -3
- package/dist/{PageSingle-MGSXARK3.js.map → PageSingle-4S2G45RQ.js.map} +1 -1
- package/dist/{ProductDetails-UJHQNBZY.js → ProductDetails-OUZMXQCC.js} +3 -3
- package/dist/{ProductDetails-UJHQNBZY.js.map → ProductDetails-OUZMXQCC.js.map} +1 -1
- package/dist/{ProfilePage-K4IK2NFB.js → ProfilePage-HK5LZYDT.js} +6 -6
- package/dist/{ProfilePage-K4IK2NFB.js.map → ProfilePage-HK5LZYDT.js.map} +1 -1
- package/dist/{ReviewsPage-5HOLWY3F.js → ReviewsPage-V3MPIT6B.js} +3 -3
- package/dist/{ReviewsPage-5HOLWY3F.js.map → ReviewsPage-V3MPIT6B.js.map} +1 -1
- package/dist/{SeoCartWidget-SWCLBEG4.js → SeoCartWidget-JOCFGXSU.js} +6 -6
- package/dist/{SeoCartWidget-SWCLBEG4.js.map → SeoCartWidget-JOCFGXSU.js.map} +1 -1
- package/dist/{SettingsPage-6A6VZQSL.js → SettingsPage-4BBBQQQJ.js} +6 -6
- package/dist/{SettingsPage-6A6VZQSL.js.map → SettingsPage-4BBBQQQJ.js.map} +1 -1
- package/dist/{StoreClosedNotification-AJ5NQTHL.js → StoreClosedNotification-BL5BRSY7.js} +7 -7
- package/dist/{StoreClosedNotification-AJ5NQTHL.js.map → StoreClosedNotification-BL5BRSY7.js.map} +1 -1
- package/dist/{TestimonialsPage-W6MLKTNP.js → TestimonialsPage-KT5PM4SO.js} +3 -3
- package/dist/{TestimonialsPage-W6MLKTNP.js.map → TestimonialsPage-KT5PM4SO.js.map} +1 -1
- package/dist/{ThankYouPage-MJFQH7UO.js → ThankYouPage-4MXMOGE3.js} +6 -6
- package/dist/{ThankYouPage-MJFQH7UO.js.map → ThankYouPage-4MXMOGE3.js.map} +1 -1
- package/dist/{WalletPage-4OOSR2VC.js → WalletPage-SPNV3SVO.js} +6 -6
- package/dist/{WalletPage-4OOSR2VC.js.map → WalletPage-SPNV3SVO.js.map} +1 -1
- package/dist/{WishlistPage-B3BWGZXX.js → WishlistPage-GZYVL7M4.js} +6 -6
- package/dist/{WishlistPage-B3BWGZXX.js.map → WishlistPage-GZYVL7M4.js.map} +1 -1
- package/dist/chunk-3LZJXKVO.js +43 -0
- package/dist/chunk-3LZJXKVO.js.map +1 -0
- package/dist/{chunk-ARLCEQNY.js → chunk-A2F2YCMS.js} +7 -7
- package/dist/{chunk-ARLCEQNY.js.map → chunk-A2F2YCMS.js.map} +1 -1
- package/dist/{chunk-PVVQ55WU.js → chunk-AMSEXJGY.js} +4 -4
- package/dist/{chunk-PVVQ55WU.js.map → chunk-AMSEXJGY.js.map} +1 -1
- package/dist/{chunk-PWCHXVAW.js → chunk-FCWHOLVA.js} +5 -5
- package/dist/{chunk-PWCHXVAW.js.map → chunk-FCWHOLVA.js.map} +1 -1
- package/dist/{chunk-S4TW6BTW.js → chunk-I4O4BOJV.js} +6 -6
- package/dist/{chunk-S4TW6BTW.js.map → chunk-I4O4BOJV.js.map} +1 -1
- package/dist/chunk-JPQSCLDG.js +14 -0
- package/dist/{chunk-PIXAIGO3.js.map → chunk-JPQSCLDG.js.map} +1 -1
- package/dist/{chunk-FSXQMBRZ.js → chunk-JWJK5K6G.js} +7 -7
- package/dist/{chunk-FSXQMBRZ.js.map → chunk-JWJK5K6G.js.map} +1 -1
- package/dist/{chunk-ABOH7PAS.js → chunk-L2JL2J2X.js} +3 -3
- package/dist/{chunk-ABOH7PAS.js.map → chunk-L2JL2J2X.js.map} +1 -1
- package/dist/{chunk-WF4ZYBTN.js → chunk-L5RO65A4.js} +3 -3
- package/dist/{chunk-WF4ZYBTN.js.map → chunk-L5RO65A4.js.map} +1 -1
- package/dist/{chunk-LCN5ZEXS.js → chunk-ROZYGY5L.js} +3 -3
- package/dist/{chunk-LCN5ZEXS.js.map → chunk-ROZYGY5L.js.map} +1 -1
- package/dist/{chunk-HXWTCFXD.js → chunk-VBZFPXFW.js} +4 -4
- package/dist/{chunk-HXWTCFXD.js.map → chunk-VBZFPXFW.js.map} +1 -1
- package/dist/{chunk-NVT4D5XH.js → chunk-VCIGJB62.js} +4 -4
- package/dist/{chunk-NVT4D5XH.js.map → chunk-VCIGJB62.js.map} +1 -1
- package/dist/{chunk-TY4GLQHS.js → chunk-X35KC3VM.js} +3 -3
- package/dist/{chunk-TY4GLQHS.js.map → chunk-X35KC3VM.js.map} +1 -1
- package/dist/{chunk-3JUS56LJ.js → chunk-Y2SZHUTP.js} +3 -3
- package/dist/{chunk-3JUS56LJ.js.map → chunk-Y2SZHUTP.js.map} +1 -1
- package/dist/components/cart/index.js +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/drawer/index.js +4 -4
- package/dist/components/home/index.js +6 -6
- package/dist/components/layout/index.js +1 -1
- package/dist/components/product/index.js +5 -5
- package/dist/components/store/index.js +6 -6
- package/dist/{document-class-HHFG6GA4.js → document-class-DUYOFGG5.js} +3 -3
- package/dist/{document-class-HHFG6GA4.js.map → document-class-DUYOFGG5.js.map} +1 -1
- package/dist/hooks/index.js +4 -4
- package/dist/hooks/useGtm.js +4 -4
- package/dist/hooks/useMoney.js +4 -4
- package/dist/hooks/useStore.js +4 -4
- package/dist/index.js +4 -4
- package/dist/{not-found-R7F34VWV.js → not-found-GEOZNKN5.js} +6 -6
- package/dist/{not-found-R7F34VWV.js.map → not-found-GEOZNKN5.js.map} +1 -1
- package/dist/providers/index.js +4 -4
- 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 +8 -8
- package/dist/routes/home.js +7 -7
- package/dist/routes/loyalty.js +2 -2
- package/dist/routes/page.js +1 -1
- package/dist/routes/product-listing/ProductListPage.d.ts.map +1 -1
- package/dist/routes/product-listing/loader.d.ts.map +1 -1
- package/dist/routes/product-listing.js +20 -12
- package/dist/routes/product-listing.js.map +1 -1
- package/dist/routes/product.js +6 -6
- package/dist/routes/testimonials.js +2 -2
- package/dist/routes/thank-you.js +1 -1
- package/dist/skeleton.js +7 -7
- package/dist/tanstack.js +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/sort-options.d.ts +9 -2
- package/dist/utils/sort-options.d.ts.map +1 -1
- package/dist/utils/sort-options.js +4 -0
- package/dist/utils/sort-options.js.map +1 -0
- package/dist/vite/index.js +2 -2
- package/package.json +5 -1
- package/tailwind/routes/product-listing/ProductListPage.tsx.txt +15 -3
- package/tailwind/routes/product-listing/loader.ts.txt +3 -1
- package/dist/chunk-6Z4MOC4S.js +0 -32
- package/dist/chunk-6Z4MOC4S.js.map +0 -1
- package/dist/chunk-PIXAIGO3.js +0 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/routes/product-listing/loader.ts","../../src/routes/product-listing/useAppliedFilters.ts","../../src/routes/product-listing/ProductListPage.tsx","../../src/routes/product-listing/index.tsx"],"names":["i18n","useState","brand","useEffect","useCallback","page","category","jsx"],"mappings":"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","file":"product-listing.js","sourcesContent":["import type { ProductListLoaderData, ProductListLoaderContext, ProductListSource } from './types';\nimport type { ProductsListSource } from '../../api/product';\nimport { category } from '../../api/category';\nimport { product } from '../../api/product';\nimport { brand } from '../../api/brands';\nimport { notFound, orThrow, unauthorized } from '../../providers/NavigationProvider';\nimport { getAuthToken } from '../../api/client';\nimport { getTwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\nconst DEFAULT_SORT = 'ourSuggest';\n\nconst SOURCE_TO_API: Record<ProductListSource, ProductsListSource> = {\n categories: 'categories',\n latest: 'latest',\n sales: 'sales',\n offers: 'offers',\n search: 'search',\n tags: 'tags',\n brands: 'brands',\n reorder: 'reorder',\n};\n\ntype StaticSource = 'latest' | 'sales' | 'offers' | 'reorder';\n\nconst SOURCE_TITLE_KEY: Record<StaticSource, string> = {\n latest: 'blocks.home.latest_products',\n sales: 'common.titles.most_sales',\n offers: 'common.titles.discounts',\n reorder: 'pages.orders.repurchase',\n};\n\nconst SOURCE_SLUG: Record<StaticSource, string> = {\n latest: 'products?source=latest',\n sales: 'products?source=sales',\n offers: 'products?source=offers',\n reorder: 'products?source=reorder',\n};\n\nexport async function productListLoader(\n ctx: ProductListLoaderContext\n): Promise<ProductListLoaderData> {\n const { params, search } = ctx;\n // A number is a page from an old Twig link; the API pages only by its own cursor.\n const page = search?.page ? String(search.page) : undefined;\n const cursor = page && Number.isNaN(Number(page)) ? page : undefined;\n const sort = search?.sort ?? DEFAULT_SORT;\n\n const sourceType = params.source ?? (params.id ? 'categories' : undefined);\n\n if (!sourceType) {\n throw new Error('ProductList loader requires source type');\n }\n\n if (sourceType === 'categories' && params.id) {\n return loadCategoryProducts(params.id, cursor, sort);\n }\n\n if (sourceType === 'search') {\n const keyword = (search?.q ?? params.keyword ?? '').trim();\n return loadSearchProducts(keyword, cursor, sort);\n }\n\n if (sourceType === 'tags' && params.id) {\n return loadTagProducts(params.id, cursor, sort);\n }\n\n if (sourceType === 'brands' && params.id) {\n return loadBrandProducts(params.id, cursor, sort);\n }\n\n // Only a signed-in customer has products to order again; the API answers a guest 401.\n if (sourceType === 'reorder' && !getAuthToken()) throw unauthorized();\n\n if (sourceType in SOURCE_TITLE_KEY) {\n return loadStaticProducts(\n sourceType as StaticSource,\n params.title ?? '',\n params.slug ?? '',\n cursor,\n sort\n );\n }\n\n throw new Error(`Unknown source type: ${sourceType}`);\n}\n\n// ============================================================================\n// Source-Specific Loaders\n// ============================================================================\n\nasync function loadCategoryProducts(\n id: string,\n cursor: string | undefined,\n sort: string\n): Promise<ProductListLoaderData> {\n const { queryClient, i18n } = getTwilightContext();\n let categoryData, productsResult;\n try {\n [categoryData, productsResult] = await Promise.all([\n queryClient.fetchQuery(category.queries.detail(id)),\n queryClient.fetchQuery(\n product.queries.list({\n source: 'categories',\n sourceValue: id,\n cursor,\n sort,\n filterable: true,\n })\n ),\n ]);\n } catch {\n throw notFound();\n }\n\n if (!categoryData) throw notFound();\n\n return {\n page: {\n slug: RouteId.PRODUCT_INDEX,\n id,\n title: categoryData.name,\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: categoryData.name, url: categoryData.url },\n ],\n },\n source: { type: 'categories', value: id, entity: categoryData },\n query: { sort, filters: true },\n products: productsResult.items,\n pagination: {\n next: productsResult.next,\n },\n filters: productsResult.filters,\n };\n}\n\nasync function loadSearchProducts(\n keyword: string,\n cursor: string | undefined,\n sort: string\n): Promise<ProductListLoaderData> {\n if (!keyword) {\n const { i18n } = getTwilightContext();\n return {\n page: {\n slug: RouteId.SEARCH,\n title: i18n.t('pages.products.search_result'),\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('pages.products.search_result'), url: '/search' },\n ],\n },\n source: { type: 'search', value: '' },\n query: { sort, filters: true },\n products: [],\n pagination: { next: null },\n };\n }\n\n const { queryClient, i18n } = getTwilightContext();\n const productsResult = await queryClient.fetchQuery(\n product.queries.list({\n source: 'search',\n sourceValue: keyword,\n cursor,\n sort,\n filterable: true,\n })\n );\n\n return {\n page: {\n slug: RouteId.SEARCH,\n title: i18n.t('common.elements.search_about').replace(':word', keyword),\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: keyword, url: '/search' },\n ],\n },\n source: { type: 'search', value: keyword },\n query: { sort, filters: true },\n products: productsResult.items,\n pagination: {\n next: productsResult.next,\n },\n filters: productsResult.filters,\n };\n}\n\nasync function loadTagProducts(\n id: string,\n cursor: string | undefined,\n sort: string\n): Promise<ProductListLoaderData> {\n const { queryClient, i18n } = getTwilightContext();\n const [tagData, productsResult] = await Promise.all([\n orThrow(queryClient.fetchQuery(product.queries.tag(id))),\n queryClient.fetchQuery(\n product.queries.list({\n source: 'tags',\n sourceValue: id,\n cursor,\n sort,\n })\n ),\n ]);\n\n if (!tagData) throw notFound();\n\n // List products carry their tags without an id, so the URL is there only sometimes.\n const tagUrl = productsResult.items[0]?.tags?.find((t) => String(t.id) === id)?.url ?? '';\n const tag = { id: Number(tagData.id), name: tagData.name, url: tagUrl };\n\n return {\n page: {\n slug: RouteId.PRODUCT_INDEX_TAG,\n id,\n title: tag.name,\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n // Laravel's own `tags/{id}` route, for when the listed tags carry no URL.\n { name: tag.name, url: tag.url || `/tags/${id}` },\n ],\n },\n source: { type: 'tags', value: id, entity: tag },\n query: { sort, filters: false },\n products: productsResult.items,\n pagination: {\n next: productsResult.next,\n },\n };\n}\n\nasync function loadBrandProducts(\n id: string,\n cursor: string | undefined,\n sort: string\n): Promise<ProductListLoaderData> {\n const { queryClient, i18n } = getTwilightContext();\n let brandData, productsResult;\n try {\n [brandData, productsResult] = await Promise.all([\n queryClient.fetchQuery(brand.queries.detail(id)),\n queryClient.fetchQuery(\n product.queries.list({\n source: 'brands',\n sourceValue: id,\n cursor,\n sort,\n })\n ),\n ]);\n } catch {\n throw notFound();\n }\n\n if (!brandData) throw notFound();\n\n return {\n page: {\n slug: RouteId.BRANDS_INDEX,\n id,\n title: brandData.name,\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n // The brand API sends no url.\n { name: brandData.name, url: `/brands/${id}` },\n ],\n },\n source: { type: 'brands', value: id, entity: brandData },\n query: { sort, filters: false },\n products: productsResult.items,\n pagination: {\n next: productsResult.next,\n },\n };\n}\n\nconst SOURCE_ROUTE_ID: Record<StaticSource, string> = {\n latest: RouteId.PRODUCT_INDEX_LATEST,\n sales: RouteId.PRODUCT_INDEX_SALES,\n offers: RouteId.PRODUCT_INDEX_OFFERS,\n reorder: RouteId.PRODUCT_INDEX,\n};\n\nasync function loadStaticProducts(\n source: StaticSource,\n title: string,\n slug: string,\n cursor: string | undefined,\n sort: string\n): Promise<ProductListLoaderData> {\n const { queryClient, i18n } = getTwilightContext();\n const resolvedTitle = title || i18n.t(SOURCE_TITLE_KEY[source]);\n const resolvedSlug = slug || SOURCE_SLUG[source];\n const productsResult = await queryClient.fetchQuery({\n ...product.queries.list({\n source: SOURCE_TO_API[source],\n cursor,\n sort,\n }),\n // The reorder key names no customer, so a cached list could be another session's.\n ...(source === 'reorder' && { staleTime: 0 }),\n });\n\n return {\n page: {\n slug: SOURCE_ROUTE_ID[source],\n title: resolvedTitle,\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: resolvedTitle, url: `/${resolvedSlug}` },\n ],\n },\n source: { type: source },\n query: { sort, filters: false },\n products: productsResult.items,\n pagination: {\n next: productsResult.next,\n },\n };\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport { product } from '../../api/product';\nimport type { ProductListFilters } from '../../api/product';\nimport type { Product } from '../../types';\nimport type { ProductListLoaderData } from './types';\nimport { onSallaEvent } from '../../utils/sdk-helpers';\n\ntype Source = ProductListLoaderData['source'];\ntype Node = Record<string, unknown>;\n\n/** Path segments that would reach the shared prototype chain if used as object keys. */\nconst UNSAFE_KEYS = new Set(['__proto__', 'constructor', 'prototype']);\n\n/**\n * Reads the `filters[...]` selection `<salla-filters>` writes to the address bar\n * (`filters[k]=v`, `filters[k][]=v`, `filters[k][sub]=v`) back into an object, so a\n * filtered link can be opened directly.\n *\n * The keys come straight from the URL, so nodes are null-prototype objects and any\n * `__proto__` / `constructor` / `prototype` segment drops the whole entry — a crafted\n * `?filters[__proto__][x]=1` must never reach `Object.prototype`.\n */\nexport function parseFiltersFromSearch(search: string): ProductListFilters | null {\n const out: Node = Object.create(null);\n new URLSearchParams(search).forEach((value, rawKey) => {\n if (!rawKey.startsWith('filters[')) return;\n const path = [...rawKey.matchAll(/\\[([^\\]]*)\\]/g)].map((m) => m[1]);\n const isList = path[path.length - 1] === '';\n const keys = isList ? path.slice(0, -1) : path;\n if (!keys.length || keys.includes('') || keys.some((key) => UNSAFE_KEYS.has(key))) return;\n\n let node = out;\n keys.slice(0, -1).forEach((key) => {\n const existing = node[key];\n if (typeof existing !== 'object' || existing === null || Array.isArray(existing)) {\n node[key] = Object.create(null);\n }\n node = node[key] as Node;\n });\n const leaf = keys[keys.length - 1];\n if (isList) {\n node[leaf] = [...(Array.isArray(node[leaf]) ? (node[leaf] as string[]) : []), value];\n } else {\n node[leaf] = value;\n }\n });\n return Object.keys(out).length ? (out as ProductListFilters) : null;\n}\n\ninterface FilteredPage {\n items: Product[];\n next: string | null;\n}\n\nexport type AppliedFiltersStatus = 'idle' | 'loading' | 'ready' | 'error';\n\n/**\n * Applies the `<salla-filters>` selection to the product list.\n *\n * The filters component only rewrites the address bar (`history.pushState`, invisible\n * to the router) and emits `salla-filters::changed`; nothing re-queries the list, so\n * the route's loader output — fetched without filters — kept showing. This listens\n * for that event (and for a filtered URL on first load) and fetches the first page\n * with the selection.\n *\n * Each fetched page is stored with the selection that produced it, so `page` is only\n * ever the page for the *current* selection. Until it arrives `status` is `loading`\n * (and `lastPage` is the previous selection's page, for a dimmed placeholder); if the\n * request fails `status` is `error` and `retry` re-runs it — the old products never\n * pass for the new selection.\n */\nexport function useAppliedFilters(\n source: Source,\n sort: string,\n enabled: boolean\n): {\n filters: ProductListFilters | null;\n page: FilteredPage | null;\n lastPage: FilteredPage | null;\n status: AppliedFiltersStatus;\n retry: () => void;\n} {\n const [filters, setFilters] = useState<ProductListFilters | null>(null);\n const [result, setResult] = useState<{ key: string; page: FilteredPage } | null>(null);\n const [failedKey, setFailedKey] = useState<string | null>(null);\n const [attempt, setAttempt] = useState(0);\n\n useEffect(() => {\n if (!enabled) return;\n setFilters(parseFiltersFromSearch(window.location.search));\n const onChanged = (...args: unknown[]) => {\n const next = args[0] as ProductListFilters | undefined;\n setFilters(next && Object.keys(next).length ? { ...next } : null);\n };\n return onSallaEvent('salla-filters::changed', onChanged);\n }, [enabled, source.type, source.value]);\n\n const key = filters ? JSON.stringify([source.type, source.value, sort, filters]) : '';\n\n useEffect(() => {\n if (!filters) return;\n const controller = new AbortController();\n setFailedKey(null);\n product\n .list({\n source: source.type,\n sourceValue: source.value,\n sort,\n filterable: true,\n filters,\n signal: controller.signal,\n })\n .then((res) => setResult({ key, page: { items: res.items, next: res.next } }))\n .catch(() => {\n // Aborted by a newer selection (its own effect run owns the state now), or failed.\n if (!controller.signal.aborted) setFailedKey(key);\n });\n return () => controller.abort();\n // `key` already encodes filters + source + sort.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [key, attempt]);\n\n const retry = useCallback(() => setAttempt((n) => n + 1), []);\n\n if (!filters) return { filters: null, page: null, lastPage: null, status: 'idle', retry };\n\n const page = result?.key === key ? result.page : null;\n const status: AppliedFiltersStatus = page ? 'ready' : failedKey === key ? 'error' : 'loading';\n return { filters, page, lastPage: result?.page ?? null, status, retry };\n}\n","import { useState, useRef, useEffect, useMemo, useCallback } from 'react';\nimport { HookSlot, useStore } from '../../hooks';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { useNavigate, useLocation } from '../../providers/NavigationProvider';\nimport { useTwilight } from '../../providers/TwilightProvider';\nimport { sortOptions } from '../../utils/sort-options';\nimport { Drawer } from '../../components/drawer';\nimport { Breadcrumb } from '../../components/common';\nimport { SallaFilters } from '@salla.sa/twilight-components-react/filters';\nimport { ItemsList, ReviewItemSkeleton } from '@salla.sa/twilight-components-react';\nimport { Testimonials, useReorderButtons } from '../../components/home';\nimport { ProductCard } from '../../components/product';\nimport { NoContent, ProductCardSkeleton, Image, RenderWhenVisible } from '../../components/common';\nimport { product, parseNextPageToken } from '../../api/product';\nimport { useAppliedFilters } from './useAppliedFilters';\nimport type { ProductListLoaderData } from './types';\nimport type { Brand } from '../brands/types';\nimport type { Product } from '../../types';\nimport { onSallaEvent } from '../../utils/sdk-helpers';\n\n/** 3-col + 288px sidebar from md; 3-col of the full container below md. */\nconst FILTERED_PRODUCT_IMAGE_SIZES = '(min-width: 768px) 25vw, 33vw';\n\n/**\n * Product List Page - Unified component for all product listing pages\n *\n * Handles:\n * - Category pages (with filters, category entity, testimonials)\n * - Search pages (keyword display, product count)\n * - Tag pages (tag entity)\n * - Brand pages (brand entity with banner/logo)\n * - Static listings (latest, sales, offers)\n */\nexport function ProductListPage({\n page,\n source,\n query,\n products,\n pagination,\n filters,\n}: ProductListLoaderData) {\n const { t } = useTranslation();\n const store = useStore();\n const { theme } = useTwilight();\n const navigate = useNavigate();\n // Sort is now SSR-driven, no local state needed\n const selectedSort = query.sort;\n const [filtersOpen, setFiltersOpen] = useState(false);\n\n // Determine filters visibility\n const showFilters = query.filters && store?.settings?.product?.filters;\n // const isSearch = source.type === 'search';\n const isBrand = source.type === 'brands';\n const brand = isBrand ? (source.entity as Brand | undefined) : null;\n const isReorder = source.type === 'reorder';\n useReorderButtons(isReorder);\n\n // Generate sort options with translations\n const sortOptionsWithTrans = useMemo(() => sortOptions(selectedSort, t), [selectedSort, t]);\n\n // Get location from hook for consistent URL handling\n const location = useLocation();\n\n // Re-query the list with the selection made in `<salla-filters>`: the component only\n // rewrites the address bar and emits `salla-filters::changed`, and the route's loader\n // output was fetched without it.\n const {\n filters: appliedFilters,\n page: filteredPage,\n lastPage,\n status: filterStatus,\n retry: retryFilters,\n } = useAppliedFilters(source, selectedSort, !!showFilters);\n // While the new selection loads, the previous page stays up (dimmed, `aria-busy`); if\n // the request fails nothing stale passes for the new selection. Infinite scroll is only\n // live for the loader's own page or a fully loaded filtered one.\n const shownPage = filterStatus === 'ready' ? filteredPage : lastPage;\n const shownProducts =\n filterStatus === 'error'\n ? []\n : filterStatus === 'idle'\n ? products\n : (shownPage?.items ?? products);\n const shownNext =\n filterStatus === 'idle'\n ? pagination?.next\n : filterStatus === 'ready'\n ? filteredPage?.next\n : null;\n const filteredKey =\n filterStatus === 'idle'\n ? ''\n : `-${filterStatus}${filterStatus === 'ready' ? JSON.stringify(appliedFilters) : ''}`;\n\n // Listen for filters changed event to close drawer\n useEffect(() => {\n const handleFiltersChanged = () => setFiltersOpen(false);\n return onSallaEvent('salla-filters::changed', handleFiltersChanged);\n }, []);\n\n // Handle sort change - use client-side navigation to trigger route loader re-run\n const handleSortChange = useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) => {\n const newSort = event.target.value;\n\n const params = new URLSearchParams(location.searchStr);\n params.set('sort', newSort);\n params.delete('page'); // clear any cursor token from URL on sort change\n\n // Use client-side navigation to trigger route loader re-execution (SSR-like).\n // Built from the router's location rather than `window.location`: on a host\n // where the store is the root, the address bar carries the store segment and\n // `navigate` would add it a second time.\n navigate(`${location.pathname}?${params.toString()}`);\n },\n [navigate, location.pathname, location.searchStr]\n );\n\n // Key for remounting products list\n const listKey = source.value ?? source.type;\n\n // Track cursor for the next page — initialized from SSR pagination response.\n // On sort change the key prop remounts ItemsList and this effect resets the cursor.\n const nextCursorRef = useRef<string | null>(shownNext ?? null);\n useEffect(() => {\n nextCursorRef.current = shownNext ?? null;\n }, [shownNext]);\n\n const loader = useCallback(async () => {\n const { cursor, page } = parseNextPageToken(nextCursorRef.current);\n\n const result = await product.list({\n source: source.type,\n sourceValue: source.value,\n ...(cursor && { cursor }),\n ...(page !== undefined && { page }),\n sort: selectedSort,\n ...(appliedFilters && { filterable: true, filters: appliedFilters }),\n });\n\n nextCursorRef.current = result.next;\n\n return result;\n }, [source.type, source.value, selectedSort, appliedFilters]);\n\n return (\n <div\n key={listKey}\n className=\"container px-2.5 ms:px-5 mb-10\"\n data-source={isReorder ? 'reorder' : undefined}\n >\n {theme?.settings?.product_index_show_breadcrumbs !== false && <Breadcrumb page={page} />}\n\n {isBrand && brand && (\n <>\n <Image\n width={1200}\n height={300}\n className=\"w-full max-h-[300px] object-cover rounded-md bg-gray-100\"\n src={brand.banner || undefined}\n alt={brand.name}\n priority\n />\n <header className=\"flex flex-col md:flex-row items-center md:items-start text-center rtl:md:text-right ltr:md:text-left mt-2 mb-8\">\n <Image\n className=\"rounded-md w-40 h-24 object-contain shadow-md p-4 bg-white shrink-0\"\n src={brand.logo || undefined}\n alt={brand.name}\n aspectRatio=\"5/3\"\n />\n <div className=\"px-5 pt-3 rtl:text-right\">\n <h1 className=\"text-2xl font-bold mb-1\">{brand.name}</h1>\n {brand.description && (\n <p\n className=\"text-base text-gray-500 font-medium\"\n dangerouslySetInnerHTML={{ __html: brand.description }}\n />\n )}\n </div>\n </header>\n </>\n )}\n\n <HookSlot name=\"product:list.start\" />\n\n <div className={showFilters ? 'md:grid md:grid-cols-[288px_1fr] gap-8' : ''}>\n {/* <FiltersSkeleton></FiltersSkeleton> */}\n {showFilters && (\n <SallaFilters\n id=\"filters-menu\"\n className=\"hidden md:block lg:sticky lg:top-20\"\n filters={filters as any}\n />\n )}\n\n <div className=\"min-w-0\">\n <div className=\"mb-4 sm:mb-6 flex justify-between items-center\">\n <h1 className=\"font-bold text-xl rtl:pl-3 ltr:pr-3\" id=\"page-main-title\">\n {isBrand ? t('common.titles.products') : page.title}\n </h1>\n\n <div className=\"flex items-center space-x-2 rtl:space-x-reverse\">\n {showFilters && (\n <button\n type=\"button\"\n onClick={() => setFiltersOpen(true)}\n className=\"filters-trigger bg-border-color text-primary lg:hidden p-2 rounded\"\n >\n <i className=\"sicon-filter text-gray-text text-2xl\" />\n </button>\n )}\n\n {sortOptionsWithTrans.length > 0 && (\n <div className=\"flex items-center\">\n <label\n className=\"hidden sm:block rtl:ml-3 ltr:mr-3 whitespace-nowrap\"\n htmlFor=\"product-sort\"\n >\n {t('pages.categories.sorting', 'Sort By')}\n </label>\n <select\n id=\"product-sort\"\n className=\"form-input pt-0 pb-1 rtl:md:pl-10 ltr:md:pr-10\"\n value={selectedSort}\n onChange={handleSortChange}\n >\n {sortOptionsWithTrans.map((option) => (\n <option key={option.id} value={option.id}>\n {option.name}\n </option>\n ))}\n </select>\n </div>\n )}\n </div>\n </div>\n\n <HookSlot name=\"product:list.items.start\" />\n\n <div\n className={`flex min-h-screen${filterStatus === 'loading' ? ' opacity-60' : ''}`}\n aria-busy={filterStatus === 'loading'}\n >\n {filterStatus === 'error' ? (\n <div className=\"flex-1 min-w-0 flex flex-col items-center\">\n <NoContent\n icon=\"sicon-shopping-bag\"\n message={t('common.errors.error_occurred', 'Something went wrong')}\n />\n <button type=\"button\" className=\"link--primary mt-4\" onClick={retryFilters}>\n {t('common.elements.try_again', 'Try again')}\n </button>\n </div>\n ) : (\n <ItemsList<Product>\n key={`${listKey}-${selectedSort}${filteredKey}`}\n resetKey={`${listKey}-${selectedSort}${filteredKey}`}\n items={shownProducts}\n loader={loader}\n mode={shownNext ? 'infinite' : 'static'}\n pageUrl={location.pathname + location.searchStr}\n className=\"s-products-list flex-1 min-w-0\"\n itemsClassName={`s-products-list-wrapper s-products-list-vertical-cards${showFilters ? ' s-products-list-with-filters' : ''}`}\n skeleton={<ProductCardSkeleton />}\n skeletonType=\"item\"\n skeletonCount={12}\n empty={\n <NoContent\n icon=\"sicon-shopping-bag\"\n message={t(\n 'pages.categories.no_products',\n 'No products found in this category'\n )}\n />\n }\n t={(key, fallback) => t(key, fallback || key)}\n >\n {(items) =>\n items.map((prod, idx) => (\n <ProductCard\n key={prod.id}\n product={prod}\n index={idx}\n sizes={showFilters ? FILTERED_PRODUCT_IMAGE_SIZES : undefined}\n />\n ))\n }\n </ItemsList>\n )}\n </div>\n\n <HookSlot name=\"product:list.items.end\" />\n </div>\n </div>\n\n {showFilters && (\n <Drawer isOpen={filtersOpen} onClose={() => setFiltersOpen(false)} size=\"md\">\n <div className=\"p-4\">\n <div className=\"flex justify-between items-center mb-4\">\n <h3 className=\"font-bold text-lg\">{t('pages.categories.filters', 'Filters')}</h3>\n <button\n type=\"button\"\n onClick={() => setFiltersOpen(false)}\n className=\"btn--close-sm sicon-cancel text-gray-500\"\n />\n </div>\n <SallaFilters id=\"filters-menu-mobile\" filters={filters as any} />\n </div>\n </Drawer>\n )}\n\n {source.type === 'categories' && store?.settings?.category?.testimonial_enabled && (\n <RenderWhenVisible placeholder={<ReviewItemSkeleton />}>\n <Testimonials data={{}} />\n </RenderWhenVisible>\n )}\n\n <HookSlot name=\"product:list.end\" />\n </div>\n );\n}\n","import { PageSkeleton } from '@salla.sa/twilight-components-react/skeletons';\nimport type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates, storePageUrl } from '../../utils/baseHead';\nimport { productListLoader } from './loader';\nimport type { ProductListLoaderData, ProductListTag, Category } from './types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\nimport { registry, COMPONENT_KEYS } from '../../components/ComponentRegistry';\nimport { ProductListPage } from './ProductListPage';\n\nconst PRODUCTS_SOURCES = new Set(['latest', 'sales', 'offers', 'reorder']);\n\nexport function head(ctx: TwilightContext, data: ProductListLoaderData): HeadDescriptor {\n const entity = data.source.entity;\n const category = data.source.type === 'categories' ? (entity as Category | undefined) : undefined;\n const tag = data.source.type === 'tags' ? (entity as ProductListTag | undefined) : undefined;\n const productsPath = PRODUCTS_SOURCES.has(data.source.type)\n ? `/products?source=${data.source.type}`\n : undefined;\n\n const alternateLanguages = buildHreflangAlternates(\n ctx.settings,\n category?.url ?? (tag?.url || productsPath || ctx.location.pathname)\n );\n // The sources share one path, so their canonical keeps `source` (Twig gave each its own path).\n const canonical =\n category?.url ??\n (tag?.url ||\n (productsPath\n ? storePageUrl(ctx.settings, `${ctx.location.pathname}?source=${data.source.type}`)\n : undefined));\n const title = category?.name ?? tag?.name ?? data.page.title;\n const image = category?.image ?? undefined;\n const storeName = ctx.settings?.store?.name;\n // Twig: categories read \"<category> | <store name>\", other listings get the default suffix.\n const pageTitle = category && storeName ? `${title} | ${storeName}` : title;\n\n const base: HeadDescriptor = {\n title: pageTitle,\n appendStoreTitle: !category,\n description: `Browse ${title}`,\n canonical,\n openGraph: {\n type: 'website',\n title: pageTitle,\n description: `Browse ${title}`,\n images: image,\n url: canonical,\n },\n twitter: {\n card: 'summary_large_image',\n title: pageTitle,\n description: `Browse ${title}`,\n images: image,\n },\n alternateLanguages,\n };\n\n return base;\n}\n\nexport interface ProductListSkeletonProps {\n hideFilters?: boolean;\n}\n\nfunction ProductListingPage(props: ProductListLoaderData) {\n const Page =\n registry.resolve<ProductListLoaderData>(COMPONENT_KEYS.PRODUCT_LIST_PAGE) ?? ProductListPage;\n return <Page {...props} />;\n}\n\nfunction ProductListingPending({ hideFilters }: ProductListSkeletonProps) {\n const Skeleton = registry.resolve<ProductListSkeletonProps>(COMPONENT_KEYS.PRODUCT_LIST_SKELETON);\n return Skeleton ? <Skeleton hideFilters={hideFilters} /> : <PageSkeleton />;\n}\n\nexport const ProductListing = {\n id: RouteId.PRODUCT_INDEX,\n loader: productListLoader,\n head,\n Component: ProductListingPage,\n Pending: ProductListingPending,\n} as const;\n\nexport { ProductListPage };\nexport { productListLoader };\nexport { useAppliedFilters, parseFiltersFromSearch } from './useAppliedFilters';\nexport type { AppliedFiltersStatus } from './useAppliedFilters';\n\nexport type {\n ProductListLoaderData,\n ProductListLoaderParams,\n ProductListLoaderContext,\n ProductListSource,\n ProductListTag,\n ProductListEntity,\n ProductListPageMeta,\n ProductListSourceConfig,\n ProductListQuery,\n CategoryPageProps,\n} from './types';\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/routes/product-listing/loader.ts","../../src/routes/product-listing/useAppliedFilters.ts","../../src/routes/product-listing/ProductListPage.tsx","../../src/routes/product-listing/index.tsx"],"names":["i18n","useState","brand","useEffect","useCallback","page","category","jsx"],"mappings":"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","file":"product-listing.js","sourcesContent":["import type { ProductListLoaderData, ProductListLoaderContext, ProductListSource } from './types';\nimport type { ProductsListSource } from '../../api/product';\nimport { category } from '../../api/category';\nimport { product } from '../../api/product';\nimport { brand } from '../../api/brands';\nimport { notFound, orThrow, unauthorized } from '../../providers/NavigationProvider';\nimport { getAuthToken } from '../../api/client';\nimport { getTwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\nimport { SORT_IDS } from '../../utils/sort-options';\n\nconst DEFAULT_SORT = 'ourSuggest';\n\nconst SOURCE_TO_API: Record<ProductListSource, ProductsListSource> = {\n categories: 'categories',\n latest: 'latest',\n sales: 'sales',\n offers: 'offers',\n search: 'search',\n tags: 'tags',\n brands: 'brands',\n reorder: 'reorder',\n};\n\ntype StaticSource = 'latest' | 'sales' | 'offers' | 'reorder';\n\nconst SOURCE_TITLE_KEY: Record<StaticSource, string> = {\n latest: 'blocks.home.latest_products',\n sales: 'common.titles.most_sales',\n offers: 'common.titles.discounts',\n reorder: 'pages.orders.repurchase',\n};\n\nconst SOURCE_SLUG: Record<StaticSource, string> = {\n latest: 'products?source=latest',\n sales: 'products?source=sales',\n offers: 'products?source=offers',\n reorder: 'products?source=reorder',\n};\n\nexport async function productListLoader(\n ctx: ProductListLoaderContext\n): Promise<ProductListLoaderData> {\n const { params, search } = ctx;\n // A number is a page from an old Twig link; the API pages only by its own cursor.\n const page = search?.page ? String(search.page) : undefined;\n const cursor = page && Number.isNaN(Number(page)) ? page : undefined;\n // A sort the API does not know is a 422 for the whole page; fall back to the default.\n const sort = search?.sort && SORT_IDS.includes(search.sort) ? search.sort : DEFAULT_SORT;\n\n const sourceType = params.source ?? (params.id ? 'categories' : undefined);\n\n if (!sourceType) {\n throw new Error('ProductList loader requires source type');\n }\n\n if (sourceType === 'categories' && params.id) {\n return loadCategoryProducts(params.id, cursor, sort);\n }\n\n if (sourceType === 'search') {\n const keyword = (search?.q ?? params.keyword ?? '').trim();\n return loadSearchProducts(keyword, cursor, sort);\n }\n\n if (sourceType === 'tags' && params.id) {\n return loadTagProducts(params.id, cursor, sort);\n }\n\n if (sourceType === 'brands' && params.id) {\n return loadBrandProducts(params.id, cursor, sort);\n }\n\n // Only a signed-in customer has products to order again; the API answers a guest 401.\n if (sourceType === 'reorder' && !getAuthToken()) throw unauthorized();\n\n if (sourceType in SOURCE_TITLE_KEY) {\n return loadStaticProducts(\n sourceType as StaticSource,\n params.title ?? '',\n params.slug ?? '',\n cursor,\n sort\n );\n }\n\n throw new Error(`Unknown source type: ${sourceType}`);\n}\n\n// ============================================================================\n// Source-Specific Loaders\n// ============================================================================\n\nasync function loadCategoryProducts(\n id: string,\n cursor: string | undefined,\n sort: string\n): Promise<ProductListLoaderData> {\n const { queryClient, i18n } = getTwilightContext();\n let categoryData, productsResult;\n try {\n [categoryData, productsResult] = await Promise.all([\n queryClient.fetchQuery(category.queries.detail(id)),\n queryClient.fetchQuery(\n product.queries.list({\n source: 'categories',\n sourceValue: id,\n cursor,\n sort,\n filterable: true,\n })\n ),\n ]);\n } catch {\n throw notFound();\n }\n\n if (!categoryData) throw notFound();\n\n return {\n page: {\n slug: RouteId.PRODUCT_INDEX,\n id,\n title: categoryData.name,\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: categoryData.name, url: categoryData.url },\n ],\n },\n source: { type: 'categories', value: id, entity: categoryData },\n query: { sort, filters: true },\n products: productsResult.items,\n pagination: {\n next: productsResult.next,\n },\n filters: productsResult.filters,\n };\n}\n\nasync function loadSearchProducts(\n keyword: string,\n cursor: string | undefined,\n sort: string\n): Promise<ProductListLoaderData> {\n if (!keyword) {\n const { i18n } = getTwilightContext();\n return {\n page: {\n slug: RouteId.SEARCH,\n title: i18n.t('pages.products.search_result'),\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('pages.products.search_result'), url: '/search' },\n ],\n },\n source: { type: 'search', value: '' },\n query: { sort, filters: true },\n products: [],\n pagination: { next: null },\n };\n }\n\n const { queryClient, i18n } = getTwilightContext();\n const productsResult = await queryClient.fetchQuery(\n product.queries.list({\n source: 'search',\n sourceValue: keyword,\n cursor,\n sort,\n filterable: true,\n })\n );\n\n return {\n page: {\n slug: RouteId.SEARCH,\n title: i18n.t('common.elements.search_about').replace(':word', keyword),\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: keyword, url: '/search' },\n ],\n },\n source: { type: 'search', value: keyword },\n query: { sort, filters: true },\n products: productsResult.items,\n pagination: {\n next: productsResult.next,\n },\n filters: productsResult.filters,\n };\n}\n\nasync function loadTagProducts(\n id: string,\n cursor: string | undefined,\n sort: string\n): Promise<ProductListLoaderData> {\n const { queryClient, i18n } = getTwilightContext();\n const [tagData, productsResult] = await Promise.all([\n orThrow(queryClient.fetchQuery(product.queries.tag(id))),\n queryClient.fetchQuery(\n product.queries.list({\n source: 'tags',\n sourceValue: id,\n cursor,\n sort,\n })\n ),\n ]);\n\n if (!tagData) throw notFound();\n\n // List products carry their tags without an id, so the URL is there only sometimes.\n const tagUrl = productsResult.items[0]?.tags?.find((t) => String(t.id) === id)?.url ?? '';\n const tag = { id: Number(tagData.id), name: tagData.name, url: tagUrl };\n\n return {\n page: {\n slug: RouteId.PRODUCT_INDEX_TAG,\n id,\n title: tag.name,\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n // Laravel's own `tags/{id}` route, for when the listed tags carry no URL.\n { name: tag.name, url: tag.url || `/tags/${id}` },\n ],\n },\n source: { type: 'tags', value: id, entity: tag },\n query: { sort, filters: false },\n products: productsResult.items,\n pagination: {\n next: productsResult.next,\n },\n };\n}\n\nasync function loadBrandProducts(\n id: string,\n cursor: string | undefined,\n sort: string\n): Promise<ProductListLoaderData> {\n const { queryClient, i18n } = getTwilightContext();\n let brandData, productsResult;\n try {\n [brandData, productsResult] = await Promise.all([\n queryClient.fetchQuery(brand.queries.detail(id)),\n queryClient.fetchQuery(\n product.queries.list({\n source: 'brands',\n sourceValue: id,\n cursor,\n sort,\n })\n ),\n ]);\n } catch {\n throw notFound();\n }\n\n if (!brandData) throw notFound();\n\n return {\n page: {\n slug: RouteId.BRANDS_INDEX,\n id,\n title: brandData.name,\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n // The brand API sends no url.\n { name: brandData.name, url: `/brands/${id}` },\n ],\n },\n source: { type: 'brands', value: id, entity: brandData },\n query: { sort, filters: false },\n products: productsResult.items,\n pagination: {\n next: productsResult.next,\n },\n };\n}\n\nconst SOURCE_ROUTE_ID: Record<StaticSource, string> = {\n latest: RouteId.PRODUCT_INDEX_LATEST,\n sales: RouteId.PRODUCT_INDEX_SALES,\n offers: RouteId.PRODUCT_INDEX_OFFERS,\n reorder: RouteId.PRODUCT_INDEX,\n};\n\nasync function loadStaticProducts(\n source: StaticSource,\n title: string,\n slug: string,\n cursor: string | undefined,\n sort: string\n): Promise<ProductListLoaderData> {\n const { queryClient, i18n } = getTwilightContext();\n const resolvedTitle = title || i18n.t(SOURCE_TITLE_KEY[source]);\n const resolvedSlug = slug || SOURCE_SLUG[source];\n const productsResult = await queryClient.fetchQuery({\n ...product.queries.list({\n source: SOURCE_TO_API[source],\n cursor,\n sort,\n }),\n // The reorder key names no customer, so a cached list could be another session's.\n ...(source === 'reorder' && { staleTime: 0 }),\n });\n\n return {\n page: {\n slug: SOURCE_ROUTE_ID[source],\n title: resolvedTitle,\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: resolvedTitle, url: `/${resolvedSlug}` },\n ],\n },\n source: { type: source },\n query: { sort, filters: false },\n products: productsResult.items,\n pagination: {\n next: productsResult.next,\n },\n };\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport { product } from '../../api/product';\nimport type { ProductListFilters } from '../../api/product';\nimport type { Product } from '../../types';\nimport type { ProductListLoaderData } from './types';\nimport { onSallaEvent } from '../../utils/sdk-helpers';\n\ntype Source = ProductListLoaderData['source'];\ntype Node = Record<string, unknown>;\n\n/** Path segments that would reach the shared prototype chain if used as object keys. */\nconst UNSAFE_KEYS = new Set(['__proto__', 'constructor', 'prototype']);\n\n/**\n * Reads the `filters[...]` selection `<salla-filters>` writes to the address bar\n * (`filters[k]=v`, `filters[k][]=v`, `filters[k][sub]=v`) back into an object, so a\n * filtered link can be opened directly.\n *\n * The keys come straight from the URL, so nodes are null-prototype objects and any\n * `__proto__` / `constructor` / `prototype` segment drops the whole entry — a crafted\n * `?filters[__proto__][x]=1` must never reach `Object.prototype`.\n */\nexport function parseFiltersFromSearch(search: string): ProductListFilters | null {\n const out: Node = Object.create(null);\n new URLSearchParams(search).forEach((value, rawKey) => {\n if (!rawKey.startsWith('filters[')) return;\n const path = [...rawKey.matchAll(/\\[([^\\]]*)\\]/g)].map((m) => m[1]);\n const isList = path[path.length - 1] === '';\n const keys = isList ? path.slice(0, -1) : path;\n if (!keys.length || keys.includes('') || keys.some((key) => UNSAFE_KEYS.has(key))) return;\n\n let node = out;\n keys.slice(0, -1).forEach((key) => {\n const existing = node[key];\n if (typeof existing !== 'object' || existing === null || Array.isArray(existing)) {\n node[key] = Object.create(null);\n }\n node = node[key] as Node;\n });\n const leaf = keys[keys.length - 1];\n if (isList) {\n node[leaf] = [...(Array.isArray(node[leaf]) ? (node[leaf] as string[]) : []), value];\n } else {\n node[leaf] = value;\n }\n });\n return Object.keys(out).length ? (out as ProductListFilters) : null;\n}\n\ninterface FilteredPage {\n items: Product[];\n next: string | null;\n}\n\nexport type AppliedFiltersStatus = 'idle' | 'loading' | 'ready' | 'error';\n\n/**\n * Applies the `<salla-filters>` selection to the product list.\n *\n * The filters component only rewrites the address bar (`history.pushState`, invisible\n * to the router) and emits `salla-filters::changed`; nothing re-queries the list, so\n * the route's loader output — fetched without filters — kept showing. This listens\n * for that event (and for a filtered URL on first load) and fetches the first page\n * with the selection.\n *\n * Each fetched page is stored with the selection that produced it, so `page` is only\n * ever the page for the *current* selection. Until it arrives `status` is `loading`\n * (and `lastPage` is the previous selection's page, for a dimmed placeholder); if the\n * request fails `status` is `error` and `retry` re-runs it — the old products never\n * pass for the new selection.\n */\nexport function useAppliedFilters(\n source: Source,\n sort: string,\n enabled: boolean\n): {\n filters: ProductListFilters | null;\n page: FilteredPage | null;\n lastPage: FilteredPage | null;\n status: AppliedFiltersStatus;\n retry: () => void;\n} {\n const [filters, setFilters] = useState<ProductListFilters | null>(null);\n const [result, setResult] = useState<{ key: string; page: FilteredPage } | null>(null);\n const [failedKey, setFailedKey] = useState<string | null>(null);\n const [attempt, setAttempt] = useState(0);\n\n useEffect(() => {\n if (!enabled) return;\n setFilters(parseFiltersFromSearch(window.location.search));\n const onChanged = (...args: unknown[]) => {\n const next = args[0] as ProductListFilters | undefined;\n setFilters(next && Object.keys(next).length ? { ...next } : null);\n };\n return onSallaEvent('salla-filters::changed', onChanged);\n }, [enabled, source.type, source.value]);\n\n const key = filters ? JSON.stringify([source.type, source.value, sort, filters]) : '';\n\n useEffect(() => {\n if (!filters) return;\n const controller = new AbortController();\n setFailedKey(null);\n product\n .list({\n source: source.type,\n sourceValue: source.value,\n sort,\n filterable: true,\n filters,\n signal: controller.signal,\n })\n .then((res) => setResult({ key, page: { items: res.items, next: res.next } }))\n .catch(() => {\n // Aborted by a newer selection (its own effect run owns the state now), or failed.\n if (!controller.signal.aborted) setFailedKey(key);\n });\n return () => controller.abort();\n // `key` already encodes filters + source + sort.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [key, attempt]);\n\n const retry = useCallback(() => setAttempt((n) => n + 1), []);\n\n if (!filters) return { filters: null, page: null, lastPage: null, status: 'idle', retry };\n\n const page = result?.key === key ? result.page : null;\n const status: AppliedFiltersStatus = page ? 'ready' : failedKey === key ? 'error' : 'loading';\n return { filters, page, lastPage: result?.page ?? null, status, retry };\n}\n","import { useState, useRef, useEffect, useMemo, useCallback } from 'react';\nimport { HookSlot, useStore } from '../../hooks';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { useNavigate, useLocation } from '../../providers/NavigationProvider';\nimport { useTwilight } from '../../providers/TwilightProvider';\nimport { availableSortIds, sortOptions } from '../../utils/sort-options';\nimport { Drawer } from '../../components/drawer';\nimport { Breadcrumb } from '../../components/common';\nimport { SallaFilters } from '@salla.sa/twilight-components-react/filters';\nimport { ItemsList, ReviewItemSkeleton } from '@salla.sa/twilight-components-react';\nimport { Testimonials, useReorderButtons } from '../../components/home';\nimport { ProductCard } from '../../components/product';\nimport { NoContent, ProductCardSkeleton, Image, RenderWhenVisible } from '../../components/common';\nimport { product, parseNextPageToken } from '../../api/product';\nimport { useAppliedFilters } from './useAppliedFilters';\nimport type { ProductListLoaderData } from './types';\nimport type { Brand } from '../brands/types';\nimport type { Product } from '../../types';\nimport { onSallaEvent } from '../../utils/sdk-helpers';\n\n/** 3-col + 288px sidebar from md; 3-col of the full container below md. */\nconst FILTERED_PRODUCT_IMAGE_SIZES = '(min-width: 768px) 25vw, 33vw';\n\n/**\n * Product List Page - Unified component for all product listing pages\n *\n * Handles:\n * - Category pages (with filters, category entity, testimonials)\n * - Search pages (keyword display, product count)\n * - Tag pages (tag entity)\n * - Brand pages (brand entity with banner/logo)\n * - Static listings (latest, sales, offers)\n */\nexport function ProductListPage({\n page,\n source,\n query,\n products,\n pagination,\n filters,\n}: ProductListLoaderData) {\n const { t } = useTranslation();\n const store = useStore();\n const { theme } = useTwilight();\n const navigate = useNavigate();\n // Sort is now SSR-driven, no local state needed\n const selectedSort = query.sort;\n const [filtersOpen, setFiltersOpen] = useState(false);\n\n // Determine filters visibility\n const showFilters = query.filters && store?.settings?.product?.filters;\n // const isSearch = source.type === 'search';\n const isBrand = source.type === 'brands';\n const brand = isBrand ? (source.entity as Brand | undefined) : null;\n const isReorder = source.type === 'reorder';\n useReorderButtons(isReorder);\n\n // Generate sort options with translations\n const sortIds = availableSortIds(source.type, store?.settings?.product?.sort_options);\n const sortOptionsWithTrans = useMemo(\n () => sortOptions(selectedSort, t, sortIds),\n [selectedSort, t, sortIds]\n );\n // The merchant may have turned off the sort the list is in (the default, or an old link's):\n // show no choice rather than an option that does not describe the order.\n const shownSort = sortOptionsWithTrans.some((option) => option.is_selected) ? selectedSort : '';\n\n // Get location from hook for consistent URL handling\n const location = useLocation();\n\n // Re-query the list with the selection made in `<salla-filters>`: the component only\n // rewrites the address bar and emits `salla-filters::changed`, and the route's loader\n // output was fetched without it.\n const {\n filters: appliedFilters,\n page: filteredPage,\n lastPage,\n status: filterStatus,\n retry: retryFilters,\n } = useAppliedFilters(source, selectedSort, !!showFilters);\n // While the new selection loads, the previous page stays up (dimmed, `aria-busy`); if\n // the request fails nothing stale passes for the new selection. Infinite scroll is only\n // live for the loader's own page or a fully loaded filtered one.\n const shownPage = filterStatus === 'ready' ? filteredPage : lastPage;\n const shownProducts =\n filterStatus === 'error'\n ? []\n : filterStatus === 'idle'\n ? products\n : (shownPage?.items ?? products);\n const shownNext =\n filterStatus === 'idle'\n ? pagination?.next\n : filterStatus === 'ready'\n ? filteredPage?.next\n : null;\n const filteredKey =\n filterStatus === 'idle'\n ? ''\n : `-${filterStatus}${filterStatus === 'ready' ? JSON.stringify(appliedFilters) : ''}`;\n\n // Listen for filters changed event to close drawer\n useEffect(() => {\n const handleFiltersChanged = () => setFiltersOpen(false);\n return onSallaEvent('salla-filters::changed', handleFiltersChanged);\n }, []);\n\n // Handle sort change - use client-side navigation to trigger route loader re-run\n const handleSortChange = useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) => {\n const newSort = event.target.value;\n\n const params = new URLSearchParams(location.searchStr);\n params.set('sort', newSort);\n params.delete('page'); // clear any cursor token from URL on sort change\n\n // Use client-side navigation to trigger route loader re-execution (SSR-like).\n // Built from the router's location rather than `window.location`: on a host\n // where the store is the root, the address bar carries the store segment and\n // `navigate` would add it a second time.\n navigate(`${location.pathname}?${params.toString()}`);\n },\n [navigate, location.pathname, location.searchStr]\n );\n\n // Key for remounting products list\n const listKey = source.value ?? source.type;\n\n // Track cursor for the next page — initialized from SSR pagination response.\n // On sort change the key prop remounts ItemsList and this effect resets the cursor.\n const nextCursorRef = useRef<string | null>(shownNext ?? null);\n useEffect(() => {\n nextCursorRef.current = shownNext ?? null;\n }, [shownNext]);\n\n const loader = useCallback(async () => {\n const { cursor, page } = parseNextPageToken(nextCursorRef.current);\n\n const result = await product.list({\n source: source.type,\n sourceValue: source.value,\n ...(cursor && { cursor }),\n ...(page !== undefined && { page }),\n sort: selectedSort,\n ...(appliedFilters && { filterable: true, filters: appliedFilters }),\n });\n\n nextCursorRef.current = result.next;\n\n return result;\n }, [source.type, source.value, selectedSort, appliedFilters]);\n\n return (\n <div\n key={listKey}\n className=\"container px-2.5 ms:px-5 mb-10\"\n data-source={isReorder ? 'reorder' : undefined}\n >\n {theme?.settings?.product_index_show_breadcrumbs !== false && <Breadcrumb page={page} />}\n\n {isBrand && brand && (\n <>\n <Image\n width={1200}\n height={300}\n className=\"w-full max-h-[300px] object-cover rounded-md bg-gray-100\"\n src={brand.banner || undefined}\n alt={brand.name}\n priority\n />\n <header className=\"flex flex-col md:flex-row items-center md:items-start text-center rtl:md:text-right ltr:md:text-left mt-2 mb-8\">\n <Image\n className=\"rounded-md w-40 h-24 object-contain shadow-md p-4 bg-white shrink-0\"\n src={brand.logo || undefined}\n alt={brand.name}\n aspectRatio=\"5/3\"\n />\n <div className=\"px-5 pt-3 rtl:text-right\">\n <h1 className=\"text-2xl font-bold mb-1\">{brand.name}</h1>\n {brand.description && (\n <p\n className=\"text-base text-gray-500 font-medium\"\n dangerouslySetInnerHTML={{ __html: brand.description }}\n />\n )}\n </div>\n </header>\n </>\n )}\n\n <HookSlot name=\"product:list.start\" />\n\n <div className={showFilters ? 'md:grid md:grid-cols-[288px_1fr] gap-8' : ''}>\n {/* <FiltersSkeleton></FiltersSkeleton> */}\n {showFilters && (\n <SallaFilters\n id=\"filters-menu\"\n className=\"hidden md:block lg:sticky lg:top-20\"\n filters={filters as any}\n />\n )}\n\n <div className=\"min-w-0\">\n <div className=\"mb-4 sm:mb-6 flex justify-between items-center\">\n <h1 className=\"font-bold text-xl rtl:pl-3 ltr:pr-3\" id=\"page-main-title\">\n {isBrand ? t('common.titles.products') : page.title}\n </h1>\n\n <div className=\"flex items-center space-x-2 rtl:space-x-reverse\">\n {showFilters && (\n <button\n type=\"button\"\n onClick={() => setFiltersOpen(true)}\n className=\"filters-trigger bg-border-color text-primary lg:hidden p-2 rounded\"\n >\n <i className=\"sicon-filter text-gray-text text-2xl\" />\n </button>\n )}\n\n {sortOptionsWithTrans.length > 0 && (\n <div className=\"flex items-center\">\n <label\n className=\"hidden sm:block rtl:ml-3 ltr:mr-3 whitespace-nowrap\"\n htmlFor=\"product-sort\"\n >\n {t('pages.categories.sorting', 'Sort By')}\n </label>\n <select\n id=\"product-sort\"\n className=\"form-input pt-0 pb-1 rtl:md:pl-10 ltr:md:pr-10\"\n value={shownSort}\n onChange={handleSortChange}\n >\n {shownSort === '' && (\n <option value=\"\" disabled hidden>\n {t('pages.categories.sorting', 'Sort By')}\n </option>\n )}\n {sortOptionsWithTrans.map((option) => (\n <option key={option.id} value={option.id}>\n {option.name}\n </option>\n ))}\n </select>\n </div>\n )}\n </div>\n </div>\n\n <HookSlot name=\"product:list.items.start\" />\n\n <div\n className={`flex min-h-screen${filterStatus === 'loading' ? ' opacity-60' : ''}`}\n aria-busy={filterStatus === 'loading'}\n >\n {filterStatus === 'error' ? (\n <div className=\"flex-1 min-w-0 flex flex-col items-center\">\n <NoContent\n icon=\"sicon-shopping-bag\"\n message={t('common.errors.error_occurred', 'Something went wrong')}\n />\n <button type=\"button\" className=\"link--primary mt-4\" onClick={retryFilters}>\n {t('common.elements.try_again', 'Try again')}\n </button>\n </div>\n ) : (\n <ItemsList<Product>\n key={`${listKey}-${selectedSort}${filteredKey}`}\n resetKey={`${listKey}-${selectedSort}${filteredKey}`}\n items={shownProducts}\n loader={loader}\n mode={shownNext ? 'infinite' : 'static'}\n pageUrl={location.pathname + location.searchStr}\n className=\"s-products-list flex-1 min-w-0\"\n itemsClassName={`s-products-list-wrapper s-products-list-vertical-cards${showFilters ? ' s-products-list-with-filters' : ''}`}\n skeleton={<ProductCardSkeleton />}\n skeletonType=\"item\"\n skeletonCount={12}\n empty={\n <NoContent\n icon=\"sicon-shopping-bag\"\n message={t(\n 'pages.categories.no_products',\n 'No products found in this category'\n )}\n />\n }\n t={(key, fallback) => t(key, fallback || key)}\n >\n {(items) =>\n items.map((prod, idx) => (\n <ProductCard\n key={prod.id}\n product={prod}\n index={idx}\n sizes={showFilters ? FILTERED_PRODUCT_IMAGE_SIZES : undefined}\n />\n ))\n }\n </ItemsList>\n )}\n </div>\n\n <HookSlot name=\"product:list.items.end\" />\n </div>\n </div>\n\n {showFilters && (\n <Drawer isOpen={filtersOpen} onClose={() => setFiltersOpen(false)} size=\"md\">\n <div className=\"p-4\">\n <div className=\"flex justify-between items-center mb-4\">\n <h3 className=\"font-bold text-lg\">{t('pages.categories.filters', 'Filters')}</h3>\n <button\n type=\"button\"\n onClick={() => setFiltersOpen(false)}\n className=\"btn--close-sm sicon-cancel text-gray-500\"\n />\n </div>\n <SallaFilters id=\"filters-menu-mobile\" filters={filters as any} />\n </div>\n </Drawer>\n )}\n\n {source.type === 'categories' && store?.settings?.category?.testimonial_enabled && (\n <RenderWhenVisible placeholder={<ReviewItemSkeleton />}>\n <Testimonials data={{}} />\n </RenderWhenVisible>\n )}\n\n <HookSlot name=\"product:list.end\" />\n </div>\n );\n}\n","import { PageSkeleton } from '@salla.sa/twilight-components-react/skeletons';\nimport type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates, storePageUrl } from '../../utils/baseHead';\nimport { productListLoader } from './loader';\nimport type { ProductListLoaderData, ProductListTag, Category } from './types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\nimport { registry, COMPONENT_KEYS } from '../../components/ComponentRegistry';\nimport { ProductListPage } from './ProductListPage';\n\nconst PRODUCTS_SOURCES = new Set(['latest', 'sales', 'offers', 'reorder']);\n\nexport function head(ctx: TwilightContext, data: ProductListLoaderData): HeadDescriptor {\n const entity = data.source.entity;\n const category = data.source.type === 'categories' ? (entity as Category | undefined) : undefined;\n const tag = data.source.type === 'tags' ? (entity as ProductListTag | undefined) : undefined;\n const productsPath = PRODUCTS_SOURCES.has(data.source.type)\n ? `/products?source=${data.source.type}`\n : undefined;\n\n const alternateLanguages = buildHreflangAlternates(\n ctx.settings,\n category?.url ?? (tag?.url || productsPath || ctx.location.pathname)\n );\n // The sources share one path, so their canonical keeps `source` (Twig gave each its own path).\n const canonical =\n category?.url ??\n (tag?.url ||\n (productsPath\n ? storePageUrl(ctx.settings, `${ctx.location.pathname}?source=${data.source.type}`)\n : undefined));\n const title = category?.name ?? tag?.name ?? data.page.title;\n const image = category?.image ?? undefined;\n const storeName = ctx.settings?.store?.name;\n // Twig: categories read \"<category> | <store name>\", other listings get the default suffix.\n const pageTitle = category && storeName ? `${title} | ${storeName}` : title;\n\n const base: HeadDescriptor = {\n title: pageTitle,\n appendStoreTitle: !category,\n description: `Browse ${title}`,\n canonical,\n openGraph: {\n type: 'website',\n title: pageTitle,\n description: `Browse ${title}`,\n images: image,\n url: canonical,\n },\n twitter: {\n card: 'summary_large_image',\n title: pageTitle,\n description: `Browse ${title}`,\n images: image,\n },\n alternateLanguages,\n };\n\n return base;\n}\n\nexport interface ProductListSkeletonProps {\n hideFilters?: boolean;\n}\n\nfunction ProductListingPage(props: ProductListLoaderData) {\n const Page =\n registry.resolve<ProductListLoaderData>(COMPONENT_KEYS.PRODUCT_LIST_PAGE) ?? ProductListPage;\n return <Page {...props} />;\n}\n\nfunction ProductListingPending({ hideFilters }: ProductListSkeletonProps) {\n const Skeleton = registry.resolve<ProductListSkeletonProps>(COMPONENT_KEYS.PRODUCT_LIST_SKELETON);\n return Skeleton ? <Skeleton hideFilters={hideFilters} /> : <PageSkeleton />;\n}\n\nexport const ProductListing = {\n id: RouteId.PRODUCT_INDEX,\n loader: productListLoader,\n head,\n Component: ProductListingPage,\n Pending: ProductListingPending,\n} as const;\n\nexport { ProductListPage };\nexport { productListLoader };\nexport { useAppliedFilters, parseFiltersFromSearch } from './useAppliedFilters';\nexport type { AppliedFiltersStatus } from './useAppliedFilters';\n\nexport type {\n ProductListLoaderData,\n ProductListLoaderParams,\n ProductListLoaderContext,\n ProductListSource,\n ProductListTag,\n ProductListEntity,\n ProductListPageMeta,\n ProductListSourceConfig,\n ProductListQuery,\n CategoryPageProps,\n} from './types';\n"]}
|
package/dist/routes/product.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ProductsSlider, LazyTestimonials } from '../chunk-
|
|
1
|
+
import { ProductsSlider, LazyTestimonials } from '../chunk-VBZFPXFW.js';
|
|
2
2
|
import '../chunk-FZYR4BA2.js';
|
|
3
3
|
import { product } from '../chunk-556OT3BN.js';
|
|
4
|
-
import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-
|
|
4
|
+
import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-I4O4BOJV.js';
|
|
5
5
|
import '../chunk-Y32RHCOH.js';
|
|
6
|
-
import { fastCheckoutScript } from '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
6
|
+
import { fastCheckoutScript } from '../chunk-A2F2YCMS.js';
|
|
7
|
+
import '../chunk-FCWHOLVA.js';
|
|
8
|
+
import '../chunk-L2JL2J2X.js';
|
|
9
9
|
import '../chunk-SFZ7IIWL.js';
|
|
10
10
|
import '../chunk-2JV6WZ6O.js';
|
|
11
11
|
import '../chunk-RV54D2D7.js';
|
|
@@ -37,7 +37,7 @@ import { HookSlot } from '../chunk-5XDPAKF5.js';
|
|
|
37
37
|
import '../chunk-GCPEMNSU.js';
|
|
38
38
|
import { getActiveCurrency } from '../chunk-QGOPTVV5.js';
|
|
39
39
|
import { useTranslation } from '../chunk-TYNZ5B2B.js';
|
|
40
|
-
import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-
|
|
40
|
+
import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-ROZYGY5L.js';
|
|
41
41
|
import '../chunk-AXW67SY7.js';
|
|
42
42
|
import '../chunk-BYMOPN2S.js';
|
|
43
43
|
import '../chunk-SKLEJJ6M.js';
|
|
@@ -32,10 +32,10 @@ async function reviewsLoader() {
|
|
|
32
32
|
|
|
33
33
|
// src/routes/testimonials/index.tsx
|
|
34
34
|
var LazyTestimonialsPage = lazy(
|
|
35
|
-
() => import('../TestimonialsPage-
|
|
35
|
+
() => import('../TestimonialsPage-KT5PM4SO.js').then((m) => ({ default: m.TestimonialsPage }))
|
|
36
36
|
);
|
|
37
37
|
var LazyReviewsPage = lazy(
|
|
38
|
-
() => import('../ReviewsPage-
|
|
38
|
+
() => import('../ReviewsPage-V3MPIT6B.js').then((m) => ({ default: m.ReviewsPage }))
|
|
39
39
|
);
|
|
40
40
|
var TestimonialsPage = LazyTestimonialsPage;
|
|
41
41
|
var ReviewsPage = LazyReviewsPage;
|
package/dist/routes/thank-you.js
CHANGED
|
@@ -38,7 +38,7 @@ async function thankYouLoader({
|
|
|
38
38
|
|
|
39
39
|
// src/routes/thank-you/index.tsx
|
|
40
40
|
var LazyThankYouPage = lazy(
|
|
41
|
-
() => import('../ThankYouPage-
|
|
41
|
+
() => import('../ThankYouPage-4MXMOGE3.js').then((m) => ({ default: m.ThankYouPage }))
|
|
42
42
|
);
|
|
43
43
|
var ThankYouPage = LazyThankYouPage;
|
|
44
44
|
async function loader(ctx, extend) {
|
package/dist/skeleton.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export { BlogSkeleton, BreadcrumbSkeleton, CartSkeleton, CustomerLayoutSkeleton, CustomerPageSkeleton, PageSkeleton, ProductCardSkeleton, ProductDetailSkeleton, ProductGridSkeleton, SkeletonPulse } from './chunk-N7CCSGZF.js';
|
|
2
|
-
export { HomeSkeleton } from './chunk-
|
|
3
|
-
import './chunk-
|
|
2
|
+
export { HomeSkeleton } from './chunk-Y2SZHUTP.js';
|
|
3
|
+
import './chunk-VBZFPXFW.js';
|
|
4
4
|
import './chunk-FZYR4BA2.js';
|
|
5
5
|
import './chunk-556OT3BN.js';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-I4O4BOJV.js';
|
|
7
7
|
import './chunk-Y32RHCOH.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
8
|
+
import './chunk-A2F2YCMS.js';
|
|
9
|
+
import './chunk-FCWHOLVA.js';
|
|
10
|
+
import './chunk-L2JL2J2X.js';
|
|
11
11
|
import './chunk-SFZ7IIWL.js';
|
|
12
12
|
import './chunk-2JV6WZ6O.js';
|
|
13
13
|
import './chunk-RV54D2D7.js';
|
|
@@ -39,7 +39,7 @@ import './chunk-5XDPAKF5.js';
|
|
|
39
39
|
import './chunk-GCPEMNSU.js';
|
|
40
40
|
import './chunk-QGOPTVV5.js';
|
|
41
41
|
import './chunk-TYNZ5B2B.js';
|
|
42
|
-
import './chunk-
|
|
42
|
+
import './chunk-ROZYGY5L.js';
|
|
43
43
|
import './chunk-AXW67SY7.js';
|
|
44
44
|
import './chunk-BYMOPN2S.js';
|
|
45
45
|
import './chunk-SKLEJJ6M.js';
|
package/dist/tanstack.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-
|
|
1
|
+
export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-L5RO65A4.js';
|
|
2
2
|
import { requestHostOf } from './chunk-UGLZPGPF.js';
|
|
3
3
|
export { TanStackLinkAdapter, TanStackNavigationProvider, createTanStackLinkAdapter } from './chunk-UGLZPGPF.js';
|
|
4
4
|
import './chunk-Z4Y55HWX.js';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -232,6 +232,8 @@ export interface StoreSettings {
|
|
|
232
232
|
show_special_offers?: boolean;
|
|
233
233
|
/** Show the "show more" control. */
|
|
234
234
|
show_more?: boolean;
|
|
235
|
+
/** Sort ids the merchant enabled in the dashboard. Older backends omit it. */
|
|
236
|
+
sort_options?: string[];
|
|
235
237
|
/** Channels offered for "notify me when available", or null when the feature is off. */
|
|
236
238
|
availability_notify?: {
|
|
237
239
|
/** Notify by email. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { formatSallaPlural } from '../chunk-BT6HEEAP.js';
|
|
2
2
|
export { stripUnsafeHtml } from '../chunk-RUHSV4Z6.js';
|
|
3
3
|
export { dispatchRouteChanged } from '../chunk-MKVCFBVF.js';
|
|
4
|
-
export { sortOptions } from '../chunk-
|
|
4
|
+
export { sortOptions } from '../chunk-3LZJXKVO.js';
|
|
5
5
|
export { color } from '../chunk-VVZNW5CB.js';
|
|
6
6
|
export { applyAppScopeMocks, registerThemeHookSlots } from '../chunk-5G7NYNX6.js';
|
|
7
7
|
export { mergeHead, resolveHead, setHeadAdapter } from '../chunk-GD26FI4J.js';
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
type TranslateFn = (key: string, fallback: string) => string;
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/** Every `sort` value the products API accepts; anything else is a 422. */
|
|
3
|
+
export declare const SORT_IDS: readonly string[];
|
|
4
|
+
/**
|
|
5
|
+
* The ids to offer on a listing: none where the source cannot sort, otherwise the merchant's
|
|
6
|
+
* enabled sorts (`store.settings.product.sort_options`), or the defaults if the store omits them.
|
|
7
|
+
*/
|
|
8
|
+
export declare const availableSortIds: (source: string, enabled?: readonly string[]) => readonly string[];
|
|
9
|
+
export declare const sortOptions: (currentSort: string, t: TranslateFn, ids?: readonly string[]) => {
|
|
10
|
+
id: "ourSuggest" | "bestSell" | "topRated" | "priceFromLowToTop" | "priceFromTopToLow" | "salePriceFromLowToTop" | "salePriceFromTopToLow";
|
|
4
11
|
name: string;
|
|
5
12
|
is_selected: boolean;
|
|
6
13
|
}[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-options.d.ts","sourceRoot":"","sources":["../../src/utils/sort-options.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"sort-options.d.ts","sourceRoot":"","sources":["../../src/utils/sort-options.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;AA4B7D,2EAA2E;AAC3E,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAAiC,CAAC;AASxE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,EAAE,UAAU,SAAS,MAAM,EAAE,sBACH,CAAC;AAE1E,eAAO,MAAM,WAAW,GACtB,aAAa,MAAM,EACnB,GAAG,WAAW,EACd,MAAK,SAAS,MAAM,EAAqB;;;;GAQ1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"sort-options.js"}
|
package/dist/vite/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { tanstackHeadAdapter } from '../chunk-N2A72R2I.js';
|
|
2
|
-
import { nextjsHeadAdapter } from '../chunk-HOSHJBPS.js';
|
|
3
1
|
import { validateTwilightManifest } from '../chunk-X5NK4TZH.js';
|
|
4
2
|
export { REACT_THEME_TYPE, describeThemeTypeIssue, getThemeType, isReactThemeManifest, validateTwilightManifest } from '../chunk-X5NK4TZH.js';
|
|
3
|
+
import { tanstackHeadAdapter } from '../chunk-N2A72R2I.js';
|
|
4
|
+
import { nextjsHeadAdapter } from '../chunk-HOSHJBPS.js';
|
|
5
5
|
import '../chunk-RV54D2D7.js';
|
|
6
6
|
import { setHeadAdapter } from '../chunk-GD26FI4J.js';
|
|
7
7
|
import '../chunk-4SZZPXM2.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salla.sa/twilight-theme-engine",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.92",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -110,6 +110,10 @@
|
|
|
110
110
|
"types": "./dist/utils/head.d.ts",
|
|
111
111
|
"import": "./dist/utils/head.js"
|
|
112
112
|
},
|
|
113
|
+
"./utils/sort-options": {
|
|
114
|
+
"types": "./dist/utils/sort-options.d.ts",
|
|
115
|
+
"import": "./dist/utils/sort-options.js"
|
|
116
|
+
},
|
|
113
117
|
"./types": {
|
|
114
118
|
"types": "./dist/types/index.d.ts",
|
|
115
119
|
"import": "./dist/types/index.js"
|