@faststore/core 3.98.0-dev.1 → 3.98.0-dev.10
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +124 -123
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +167 -163
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/{5796.js → 1027.js} +1 -1
- package/.next/server/chunks/1197.js +1 -0
- package/.next/server/chunks/{3483.js → 1313.js} +1 -1
- package/.next/server/chunks/1419.js +1 -0
- package/.next/server/chunks/1576.js +1 -0
- package/.next/server/chunks/{7275.js → 1588.js} +1 -1
- package/.next/server/chunks/1741.js +3 -0
- package/.next/server/chunks/221.js +1 -0
- package/.next/server/chunks/2259.js +9 -0
- package/.next/server/chunks/2513.js +1 -0
- package/.next/server/chunks/2955.js +1 -0
- package/.next/server/chunks/3114.js +1 -0
- package/.next/server/chunks/3327.js +1 -0
- package/.next/server/chunks/3488.js +1 -0
- package/.next/server/chunks/{1917.js → 3513.js} +1 -1
- package/.next/server/chunks/3683.js +1 -0
- package/.next/server/chunks/{8563.js → 3724.js} +1 -1
- package/.next/server/chunks/3977.js +1 -0
- package/.next/server/chunks/426.js +1 -0
- package/.next/server/chunks/4573.js +1 -0
- package/.next/server/chunks/4681.js +1 -0
- package/.next/server/chunks/5133.js +3 -0
- package/.next/server/chunks/5212.js +7 -0
- package/.next/server/chunks/5608.js +1 -0
- package/.next/server/chunks/5628.js +12 -0
- package/.next/server/chunks/{1607.js → 5764.js} +1 -1
- package/.next/server/chunks/{9740.js → 6259.js} +1 -1
- package/.next/server/chunks/6698.js +1 -1
- package/.next/server/chunks/689.js +1 -0
- package/.next/server/chunks/6952.js +1 -0
- package/.next/server/chunks/7121.js +1 -0
- package/.next/server/chunks/7371.js +1 -1
- package/.next/server/chunks/7417.js +1 -0
- package/.next/server/chunks/{1280.js → 7722.js} +1 -1
- package/.next/server/chunks/7796.js +1 -0
- package/.next/server/chunks/7956.js +1 -0
- package/.next/server/chunks/{6804.js → 7976.js} +3 -3
- package/.next/server/chunks/{9985.js → 8146.js} +1 -1
- package/.next/server/chunks/8290.js +1 -0
- package/.next/server/chunks/8376.js +13 -0
- package/.next/server/chunks/8466.js +6 -0
- package/.next/server/chunks/8569.js +1 -1
- package/.next/server/chunks/8659.js +1 -0
- package/.next/server/chunks/8741.js +1 -0
- package/.next/server/chunks/8971.js +493 -0
- package/.next/server/chunks/9088.js +1 -1
- package/.next/server/chunks/9237.js +1 -1
- package/.next/server/chunks/9374.js +13 -0
- package/.next/server/chunks/{8068.js → 9425.js} +1 -1
- package/.next/server/chunks/{UINavbarSlider.js → 9984.js} +1 -1
- package/.next/server/chunks/9986.js +1 -0
- package/.next/server/chunks/ButtonSignIn.js +1 -1
- package/.next/server/chunks/FilterSkeleton.js +1 -1
- package/.next/server/chunks/ScrollToTopButton.js +1 -1
- package/.next/server/chunks/UIBannerText.js +1 -1
- package/.next/server/chunks/UISKUMatrixSidebar.js +1 -1
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.js +1 -1
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js +1 -1
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js +1 -1
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +1 -1
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/api/fs/logout.js +1 -1
- package/.next/server/pages/api/fs/logout.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +3 -3
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- package/.next/server/pages/api/health/live.js +1 -1
- package/.next/server/pages/api/health/live.js.nft.json +1 -1
- package/.next/server/pages/api/health/ready.js +1 -1
- package/.next/server/pages/api/health/ready.js.nft.json +1 -1
- package/.next/server/pages/api/preview.js +1 -1
- package/.next/server/pages/api/preview.js.nft.json +1 -1
- package/.next/server/pages/checkout.js +1 -1
- package/.next/server/pages/checkout.js.nft.json +1 -1
- package/.next/server/pages/en-US/404.html +2 -2
- package/.next/server/pages/en-US/404.json +1 -1
- package/.next/server/pages/en-US/500.html +2 -2
- package/.next/server/pages/en-US/500.json +1 -1
- package/.next/server/pages/en-US/checkout.html +2 -2
- package/.next/server/pages/en-US/checkout.json +1 -1
- package/.next/server/pages/en-US/login.html +2 -2
- package/.next/server/pages/en-US/login.json +1 -1
- package/.next/server/pages/en-US/s.html +2 -2
- package/.next/server/pages/en-US/s.json +1 -1
- package/.next/server/pages/en-US.html +2 -2
- package/.next/server/pages/en-US.json +1 -1
- package/.next/server/pages/index.js +1 -1
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js +1 -1
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/403.js +1 -1
- package/.next/server/pages/pvt/account/403.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/404.js +1 -1
- package/.next/server/pages/pvt/account/404.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/[...unknown].js +1 -1
- package/.next/server/pages/pvt/account/[...unknown].js.nft.json +1 -1
- package/.next/server/pages/pvt/account/orders/[id].js +1 -1
- package/.next/server/pages/pvt/account/orders/[id].js.nft.json +1 -1
- package/.next/server/pages/pvt/account/orders.js +1 -1
- package/.next/server/pages/pvt/account/orders.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/profile.js +1 -1
- package/.next/server/pages/pvt/account/profile.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/security.js +1 -1
- package/.next/server/pages/pvt/account/security.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/user-details.js +1 -1
- package/.next/server/pages/pvt/account/user-details.js.nft.json +1 -1
- package/.next/server/pages/pvt/account.js +1 -1
- package/.next/server/pages/pvt/account.js.nft.json +1 -1
- package/.next/server/pages/s.js +1 -1
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/server/webpack-runtime.js +1 -1
- package/.next/static/Xu5Fn6_Qwp_x6LicEI8BU/_buildManifest.js +1 -0
- package/.next/static/chunks/{5796.4351370494d8b8b6.js → 1027.f17a7c96c17ce487.js} +1 -1
- package/.next/static/chunks/1313.bba028de90630608.js +1 -0
- package/.next/static/chunks/1756.89b7f413bb26ba74.js +1 -0
- package/.next/static/chunks/{8325.dabe9aa22eaadeed.js → 1911.fb72de1df3c3715c.js} +1 -1
- package/.next/static/chunks/2221-f8edfdaa4839bdf0.js +2 -0
- package/.next/static/chunks/2564.273fd8b0db75b1c4.js +1 -0
- package/.next/static/chunks/2811.cf089090a8b79215.js +1 -0
- package/.next/static/chunks/346.2840f007e6d1054c.js +1 -0
- package/.next/static/chunks/3496.bcb4d219501a8b6b.js +1 -0
- package/.next/static/chunks/3753-74460a0793c0a75c.js +8 -0
- package/.next/static/chunks/3802.1e0df8a20802da16.js +1 -0
- package/.next/static/chunks/3883-ebdbb60b50a90c59.js +28 -0
- package/.next/static/chunks/4436.9b2b6e1c3f79424d.js +1 -0
- package/.next/static/chunks/4681.318feb830c746e3b.js +1 -0
- package/.next/static/chunks/484.9fdcaa9ffd8dac08.js +1 -0
- package/.next/static/chunks/6218.e8ba8bf8602ec880.js +1 -0
- package/.next/static/chunks/{6393.e4b26fee060438d6.js → 6393.f5f13a004beeef40.js} +1 -1
- package/.next/static/chunks/6656-efc464f20ffeaa51.js +1 -0
- package/.next/static/chunks/6797-ff5656c8624c4265.js +1 -0
- package/.next/static/chunks/6943.6bc97e925b54493d.js +1 -0
- package/.next/static/chunks/7417.55a6e20779dd3702.js +1 -0
- package/.next/static/chunks/7534.ee76e63d58ddd222.js +1 -0
- package/.next/static/chunks/7796.a30626656a270831.js +1 -0
- package/.next/static/chunks/9105.354374e349da85cb.js +1 -0
- package/.next/static/chunks/9222.04daf7868c957e52.js +1 -0
- package/.next/static/chunks/{9237.7555603703f81bf7.js → 9237.2d7e1a4978875414.js} +1 -1
- package/.next/static/chunks/9399.199f217093e4af1e.js +1 -0
- package/.next/static/chunks/{8068.43663fb64762f7b8.js → 9425.9d8b3da847111f21.js} +1 -1
- package/.next/static/chunks/9701.f9a0bfffba8807dc.js +1 -0
- package/.next/static/chunks/BannerNewsletter.b5770016d20acfd2.js +1 -0
- package/.next/static/chunks/{BannerText.4061ccfc191e6b96.js → BannerText.5ba50fbe683158ec.js} +1 -1
- package/.next/static/chunks/{ButtonSignIn.f6e210eaca873e48.js → ButtonSignIn.639d8dfc65ded368.js} +1 -1
- package/.next/static/chunks/CartItem.3c2ceb3a4ee542bc.js +1 -0
- package/.next/static/chunks/CartSidebar.89b0dd6237c025ec.js +1 -0
- package/.next/static/chunks/{EmptyCart.320e2f94a0d5e6b1.js → EmptyCart.aa60d42ae8eb5264.js} +1 -1
- package/.next/static/chunks/{FilterSkeleton.7ab99e28f92341c9.js → FilterSkeleton.8f1b651c40e06f0b.js} +1 -1
- package/.next/static/chunks/Footer.cd83c4dc0252494a.js +1 -0
- package/.next/static/chunks/Gift.4c97f836f82d5ebe.js +1 -0
- package/.next/static/chunks/Newsletter.bdec43379ca9191a.js +1 -0
- package/.next/static/chunks/OrderSummary.994b7314f2d004af.js +1 -0
- package/.next/static/chunks/PreviewTag.696854f6690e1b9e.js +1 -0
- package/.next/static/chunks/ProductShelf.fe1f19bc68859695.js +1 -0
- package/.next/static/chunks/ProductTiles.2c63ae178a75d5b6.js +1 -0
- package/.next/static/chunks/{RegionModal.a7be32d2d7832ba4.js → RegionModal.fbbdd54ee2422522.js} +1 -1
- package/.next/static/chunks/RegionSlider.49e558b340a5506a.js +1 -0
- package/.next/static/chunks/{ScrollToTopButton.c15431f2e8bb93ef.js → ScrollToTopButton.55e3a1233d04b8eb.js} +1 -1
- package/.next/static/chunks/ShoppingAssistant.8772fe90bd678202.js +1 -0
- package/.next/static/chunks/Toast.f083d9966a9a181e.js +1 -0
- package/.next/static/chunks/UISKUMatrixSidebar.01f8f5222dcdf80f.js +1 -0
- package/.next/static/chunks/main-edeb2c6a5c48bb3f.js +1 -0
- package/.next/static/chunks/pages/404-1e8f91fa1bca3ab8.js +1 -0
- package/.next/static/chunks/pages/500-f21feacbb9810e94.js +1 -0
- package/.next/static/chunks/pages/[...slug]-400781188d59cfd6.js +1 -0
- package/.next/static/chunks/pages/[slug]/p-f324b592d1c566b9.js +1 -0
- package/.next/static/chunks/pages/_app-735c745509e1e8d6.js +1 -0
- package/.next/static/chunks/pages/{_error-2b0148be56a716e9.js → _error-464097ff69347627.js} +1 -1
- package/.next/static/chunks/pages/checkout-6076b4baf0ca1aa6.js +1 -0
- package/.next/static/chunks/pages/index-3266ece2e885bb3a.js +1 -0
- package/.next/static/chunks/pages/login-add3b376f68ce39a.js +1 -0
- package/.next/static/chunks/pages/pvt/account/403-d44b70591d2c86dc.js +1 -0
- package/.next/static/chunks/pages/pvt/account/404-646fb609f579101e.js +1 -0
- package/.next/static/chunks/pages/pvt/account/[...unknown]-3fb3963ca3d77c0b.js +1 -0
- package/.next/static/chunks/pages/pvt/account/orders/[id]-cda2266c9693d552.js +1 -0
- package/.next/static/chunks/pages/pvt/account/orders-ec545a2679db206e.js +1 -0
- package/.next/static/chunks/pages/pvt/account/profile-27164b37098c553f.js +1 -0
- package/.next/static/chunks/pages/pvt/account/security-4bd3e75771a120ec.js +1 -0
- package/.next/static/chunks/pages/pvt/account/user-details-a48a44dfdc07c1e9.js +1 -0
- package/.next/static/chunks/pages/pvt/account-5a6dcae3b380b672.js +1 -0
- package/.next/static/chunks/pages/s-0fe527a651dd5989.js +1 -0
- package/.next/static/chunks/webpack-d3e4f545845241c4.js +1 -0
- package/.next/static/css/094ad5cc00c74e64.css +1 -0
- package/.next/static/css/{b684b347c5cc6514.css → 1154064b68a7f35e.css} +1 -1
- package/.next/static/css/1b7e34d448a42825.css +1 -0
- package/.next/static/css/23857075311e4d06.css +1 -0
- package/.next/static/css/482e6fa149885bc2.css +1 -0
- package/.next/static/css/4b2af1aaeb961465.css +1 -0
- package/.next/static/css/{837662922091162f.css → 52ab64b6a2b14e3e.css} +1 -1
- package/.next/static/css/5cd37b7508dd5190.css +1 -0
- package/.next/static/css/72f154a00f1cf621.css +1 -0
- package/.next/static/css/8a513f4b536b0ab0.css +1 -0
- package/.next/static/css/9b4c21dcd3bc4a17.css +1 -0
- package/.next/static/css/d0930b8076866831.css +1 -0
- package/.next/static/css/e028eb9f46d42611.css +1 -0
- package/.next/static/css/e68c313e4ce2fd1b.css +1 -0
- package/.next/static/css/f16438bcf4508fb3.css +1 -0
- package/.next/trace +142 -140
- package/.turbo/turbo-build.log +46 -66
- package/.turbo/turbo-test.log +7 -7
- package/@generated/gql.ts +22 -14
- package/@generated/graphql.ts +148 -55
- package/@generated/persisted-documents.json +5 -4
- package/@generated/schema.graphql +4 -0
- package/CHANGELOG.md +56 -4
- package/cms/faststore/base.jsonc +3 -3
- package/cms/faststore/components/cms_component__productshelf.jsonc +2 -2
- package/cms/faststore/components/cms_component__producttiles.jsonc +2 -2
- package/cms/faststore/schema.json +2510 -2482
- package/cms/faststore/sections.json +485 -4
- package/cypress/tsconfig.json +7 -0
- package/discovery.config.default.js +2 -0
- package/jest.config.js +3 -0
- package/next.config.js +4 -0
- package/package.json +5 -4
- package/public/icons.svg +62 -0
- package/src/components/ThirdPartyScripts/index.ts +1 -0
- package/src/components/ThirdPartyScripts/useShoppingAssistant.tsx +30 -0
- package/src/components/account/MyAccountDrawer/OrganizationDrawer/OrganizationDrawer.tsx +27 -18
- package/src/components/account/MyAccountDrawer/OrganizationDrawer/useReloadAfterLogoutReturn.ts +75 -0
- package/src/components/cms/global/Components.ts +8 -0
- package/src/components/product/ProductGrid/ProductGrid.tsx +26 -1
- package/src/components/search/SearchDropdown/SearchDropdown.tsx +11 -2
- package/src/components/search/SearchInput/SearchInput.tsx +492 -5
- package/src/components/sections/Navbar/Navbar.tsx +67 -0
- package/src/components/sections/Navbar/section.module.scss +3 -0
- package/src/components/sections/ProductDetails/ProductDetails.tsx +1 -0
- package/src/components/sections/ShoppingAssistant/ShoppingAssistant.tsx +24 -0
- package/src/components/sections/ShoppingAssistant/index.ts +1 -0
- package/src/components/sections/ShoppingAssistant/section.module.scss +5 -0
- package/src/components/templates/ProductListingPage/ProductListing.tsx +1 -1
- package/src/components/ui/ProductGallery/ProductGalleryPage.tsx +17 -0
- package/src/pages/[slug]/p.tsx +2 -0
- package/src/pages/_app.tsx +2 -0
- package/src/sdk/graphql/request.ts +1 -1
- package/src/sdk/graphql/useQuery.ts +23 -6
- package/src/sdk/product/convertProductToQuickOrder.ts +85 -0
- package/src/sdk/product/useBulkProductsQuery.ts +128 -0
- package/src/sdk/product/usePageProductsQuery.ts +11 -9
- package/src/sdk/search/useSuggestions.ts +1 -0
- package/src/styles/global/index.scss +2 -1
- package/src/utils/cookieCacheBusting.ts +35 -41
- package/src/utils/utilities.ts +62 -0
- package/test/tsconfig.json +7 -0
- package/test/utils/cookieCacheBusting.test.ts +54 -47
- package/.next/server/chunks/1554.js +0 -1
- package/.next/server/chunks/1780.js +0 -1
- package/.next/server/chunks/2249.js +0 -1
- package/.next/server/chunks/2430.js +0 -1
- package/.next/server/chunks/2445.js +0 -12
- package/.next/server/chunks/2570.js +0 -1
- package/.next/server/chunks/294.js +0 -1
- package/.next/server/chunks/3029.js +0 -1
- package/.next/server/chunks/3836.js +0 -1
- package/.next/server/chunks/3890.js +0 -492
- package/.next/server/chunks/3945.js +0 -1
- package/.next/server/chunks/3951.js +0 -7
- package/.next/server/chunks/4194.js +0 -1
- package/.next/server/chunks/4365.js +0 -1
- package/.next/server/chunks/4803.js +0 -1
- package/.next/server/chunks/4913.js +0 -13
- package/.next/server/chunks/5683.js +0 -1
- package/.next/server/chunks/5723.js +0 -13
- package/.next/server/chunks/6789.js +0 -1
- package/.next/server/chunks/6886.js +0 -1
- package/.next/server/chunks/7098.js +0 -9
- package/.next/server/chunks/7692.js +0 -1
- package/.next/server/chunks/772.js +0 -6
- package/.next/server/chunks/7799.js +0 -1
- package/.next/server/chunks/83.js +0 -1
- package/.next/server/chunks/8307.js +0 -1
- package/.next/server/chunks/8482.js +0 -1
- package/.next/server/chunks/8598.js +0 -1
- package/.next/server/chunks/8687.js +0 -1
- package/.next/server/chunks/870.js +0 -1
- package/.next/server/chunks/9117.js +0 -1
- package/.next/server/chunks/948.js +0 -2
- package/.next/server/chunks/9563.js +0 -3
- package/.next/server/chunks/9853.js +0 -1
- package/.next/server/chunks/9990.js +0 -1
- package/.next/static/Q4xA-lP9ZZhP1GXzClxiR/_buildManifest.js +0 -1
- package/.next/static/chunks/1208-9118a8f14ecf05c8.js +0 -8
- package/.next/static/chunks/1841.a1b15f2c88e02d32.js +0 -1
- package/.next/static/chunks/2284.dffe7b0e5a5bfb4a.js +0 -1
- package/.next/static/chunks/2500.d6beb5af6ee00a9e.js +0 -1
- package/.next/static/chunks/2851.e68ed3c8d27a032a.js +0 -1
- package/.next/static/chunks/3155.7bc4c730a79d9ecb.js +0 -1
- package/.next/static/chunks/3399.3e1f685c992c345b.js +0 -1
- package/.next/static/chunks/3483.ef53d632a763da3f.js +0 -1
- package/.next/static/chunks/349.235b18ceb82aa256.js +0 -1
- package/.next/static/chunks/3836.612763339fc4c64c.js +0 -1
- package/.next/static/chunks/4803.9822f0b7e469b933.js +0 -1
- package/.next/static/chunks/5859.3bc094416cffd966.js +0 -1
- package/.next/static/chunks/6031-b0b111f48a7d504d.js +0 -28
- package/.next/static/chunks/6700.a72869377e81146c.js +0 -1
- package/.next/static/chunks/6789.960162355435a81d.js +0 -1
- package/.next/static/chunks/7191-5ede6e7ef625ea77.js +0 -1
- package/.next/static/chunks/7522-9010743f5d7e8aca.js +0 -1
- package/.next/static/chunks/7692.8d5bf4560341a2f6.js +0 -1
- package/.next/static/chunks/83.98ce246c274ee7e4.js +0 -1
- package/.next/static/chunks/9173-ab3c4d9d8f978c4b.js +0 -1
- package/.next/static/chunks/9399.48251a278809f7d3.js +0 -1
- package/.next/static/chunks/941.3e2782ab9c490eb0.js +0 -1
- package/.next/static/chunks/9465.e09b81f7e6195587.js +0 -1
- package/.next/static/chunks/9701.b0e8741551995fbb.js +0 -1
- package/.next/static/chunks/9909.787576b171184aa5.js +0 -1
- package/.next/static/chunks/BannerNewsletter.90d4a98c15a35cea.js +0 -1
- package/.next/static/chunks/CartItem.092df07db9e8b271.js +0 -1
- package/.next/static/chunks/CartSidebar.f0c16e2bc6f96e9e.js +0 -1
- package/.next/static/chunks/Footer.63a7682a81a96f8e.js +0 -1
- package/.next/static/chunks/Gift.08db4da8c89cacf1.js +0 -1
- package/.next/static/chunks/Newsletter.dbf35a8ea6d2067e.js +0 -1
- package/.next/static/chunks/OrderSummary.f9adad5622605046.js +0 -1
- package/.next/static/chunks/PreviewTag.f4f0c8710a7bcad9.js +0 -1
- package/.next/static/chunks/ProductShelf.7ebce1c763b4508e.js +0 -1
- package/.next/static/chunks/ProductTiles.18f55314e61957f4.js +0 -1
- package/.next/static/chunks/RegionSlider.b4dd4e7c0483966d.js +0 -1
- package/.next/static/chunks/Toast.2e9b26159af29889.js +0 -1
- package/.next/static/chunks/UISKUMatrixSidebar.87ba393b7d738e99.js +0 -1
- package/.next/static/chunks/main-ec03882c4375091d.js +0 -1
- package/.next/static/chunks/pages/404-4b3f1e22c77f849a.js +0 -1
- package/.next/static/chunks/pages/500-bb2de0c11524b2b8.js +0 -1
- package/.next/static/chunks/pages/[...slug]-3579b3b8b8309552.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-7ac98274c47b0ff4.js +0 -1
- package/.next/static/chunks/pages/_app-1595678557980d65.js +0 -1
- package/.next/static/chunks/pages/checkout-dc07d72b3514c83d.js +0 -1
- package/.next/static/chunks/pages/index-1f8bf0fb351b90f4.js +0 -1
- package/.next/static/chunks/pages/login-e97ef92769456bf6.js +0 -1
- package/.next/static/chunks/pages/pvt/account/403-91597100f8956385.js +0 -1
- package/.next/static/chunks/pages/pvt/account/404-c68124bed7cb7c48.js +0 -1
- package/.next/static/chunks/pages/pvt/account/[...unknown]-f80f645594d2740c.js +0 -1
- package/.next/static/chunks/pages/pvt/account/orders/[id]-e03ebb0393ac92a2.js +0 -1
- package/.next/static/chunks/pages/pvt/account/orders-12a215899ae6f3eb.js +0 -1
- package/.next/static/chunks/pages/pvt/account/profile-b6cdbf02d4682544.js +0 -1
- package/.next/static/chunks/pages/pvt/account/security-e6289a40e745d3c4.js +0 -1
- package/.next/static/chunks/pages/pvt/account/user-details-fba1822e52e7de26.js +0 -1
- package/.next/static/chunks/pages/pvt/account-65fefcc699344bdb.js +0 -1
- package/.next/static/chunks/pages/s-41cffb20de1d2617.js +0 -1
- package/.next/static/chunks/webpack-345c083b2f1f8bb9.js +0 -1
- package/.next/static/css/05c399956ff24b77.css +0 -1
- package/.next/static/css/08d03445f1797608.css +0 -1
- package/.next/static/css/0f070d03aacd9cc5.css +0 -1
- package/.next/static/css/0fae3d432331aae9.css +0 -1
- package/.next/static/css/0fc6b2ff69142c6a.css +0 -1
- package/.next/static/css/31380ebc6e671486.css +0 -1
- package/.next/static/css/40a294d0a24ad01d.css +0 -1
- package/.next/static/css/47f1b4e8de15d314.css +0 -1
- package/.next/static/css/973dd40d4773e8cd.css +0 -1
- package/.next/static/css/9d403a1bee48c9fc.css +0 -1
- package/.next/static/css/a6a4ebbe01adbbad.css +0 -1
- /package/.next/static/{Q4xA-lP9ZZhP1GXzClxiR → Xu5Fn6_Qwp_x6LicEI8BU}/_ssgManifest.js +0 -0
package/public/icons.svg
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
<svg style="display:none">
|
|
2
2
|
<symbol id="ArrowElbowDownRight" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor"><rect width="256" height="256" fill="none"></rect><polyline points="160 128 208 176 160 224" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></polyline><polyline points="64 32 64 176 208 176" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></polyline></symbol>
|
|
3
3
|
|
|
4
|
+
<symbol id="CircleNotch" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 256 256"><path d="M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"></path></symbol>
|
|
5
|
+
|
|
6
|
+
<symbol id="Table" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 256 256"><path d="M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48ZM40,112H80v32H40Zm56,0H216v32H96ZM216,64V96H40V64ZM40,160H80v32H40Zm176,32H96V160H216v32Z"></path></symbol>
|
|
7
|
+
|
|
8
|
+
<symbol id="WarningOctagon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 256 256"><path d="M120,136V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0ZM232,91.55v72.9a15.86,15.86,0,0,1-4.69,11.31l-51.55,51.55A15.86,15.86,0,0,1,164.45,232H91.55a15.86,15.86,0,0,1-11.31-4.69L28.69,175.76A15.86,15.86,0,0,1,24,164.45V91.55a15.86,15.86,0,0,1,4.69-11.31L80.24,28.69A15.86,15.86,0,0,1,91.55,24h72.9a15.86,15.86,0,0,1,11.31,4.69l51.55,51.55A15.86,15.86,0,0,1,232,91.55Zm-16,0L164.45,40H91.55L40,91.55v72.9L91.55,216h72.9L216,164.45ZM128,160a12,12,0,1,0,12,12A12,12,0,0,0,128,160Z"></path></symbol>
|
|
9
|
+
|
|
10
|
+
<symbol id="Paperclip" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"/><path d="M80,144H192a16,16,0,0,0,0-32H48a32,32,0,0,0,0,64H192a48,48,0,0,0,0-96H80" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></symbol>
|
|
11
|
+
|
|
4
12
|
<symbol id="ArrowLeft" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"></rect><line x1="216" y1="128" x2="40" y2="128" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></line><polyline points="112 56 40 128 112 200" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></polyline></symbol>
|
|
5
13
|
|
|
6
14
|
<symbol id="ArrowRight" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"></rect><line x1="40" y1="128" x2="216" y2="128" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></line><polyline points="144 56 216 128 144 200" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></polyline></symbol>
|
|
@@ -17,10 +25,24 @@
|
|
|
17
25
|
<path d="M10.5 50.9443C9.5375 50.9443 8.71364 50.6015 8.02842 49.9159C7.34281 49.2307 7 48.4068 7 47.4443V16.5277C7 15.5652 7.34281 14.7411 8.02842 14.0555C8.71364 13.3703 9.5375 13.0277 10.5 13.0277H16.9167C16.9167 9.99434 17.9569 7.38878 20.0375 5.211C22.1181 3.03322 24.675 1.94434 27.7083 1.94434C30.8552 1.94434 33.5378 3.01378 35.756 5.15267C37.9742 7.29156 39.0833 9.91656 39.0833 13.0277H45.5C46.4625 13.0277 47.2866 13.3703 47.9722 14.0555C48.6574 14.7411 49 15.5652 49 16.5277V47.4443C49 48.4068 48.6574 49.2307 47.9722 49.9159C47.2866 50.6015 46.4625 50.9443 45.5 50.9443H10.5ZM10.5 47.4443H45.5V16.5277H10.5V47.4443ZM28 30.5277C31.0722 30.5277 33.7361 29.3999 35.9917 27.1443C38.2472 24.8888 39.375 22.2249 39.375 19.1527H35.875C35.875 21.2916 35.0972 23.1388 33.5417 24.6943C31.9861 26.2499 30.1389 27.0277 28 27.0277C25.8611 27.0277 24.0139 26.2499 22.4583 24.6943C20.9028 23.1388 20.125 21.2916 20.125 19.1527H16.625C16.625 22.2249 17.7528 24.8888 20.0083 27.1443C22.2639 29.3999 24.9278 30.5277 28 30.5277ZM20.4167 13.0277H35.5833C35.5833 10.8888 34.8542 9.09017 33.3958 7.63184C31.9375 6.1735 30.1389 5.44434 28 5.44434C25.8611 5.44434 24.0625 6.1735 22.6042 7.63184C21.1458 9.09017 20.4167 10.8888 20.4167 13.0277Z" fill="#D6D6D6"/>
|
|
18
26
|
</symbol>
|
|
19
27
|
|
|
28
|
+
|
|
29
|
+
<symbol id="Thrash" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 256 256">
|
|
30
|
+
<path d="M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z"></path>
|
|
31
|
+
</symbol>
|
|
32
|
+
|
|
33
|
+
<symbol id="CircleWarning" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 256 256">
|
|
34
|
+
<path d="M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm-8-80V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,172Z"></path>
|
|
35
|
+
</symbol>
|
|
36
|
+
|
|
37
|
+
<symbol id="Table" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 256 256"><path d="M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48ZM40,112H80v32H40Zm56,0H216v32H96ZM216,64V96H40V64ZM40,160H80v32H40Zm176,32H96V160H216v32Z"></path>
|
|
38
|
+
</symbol>
|
|
39
|
+
|
|
20
40
|
<symbol id="Bell" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"></rect><path d="M56.2,104a71.9,71.9,0,0,1,72.3-72c39.6.3,71.3,33.2,71.3,72.9V112c0,35.8,7.5,56.6,14.1,68a8,8,0,0,1-6.9,12H49a8,8,0,0,1-6.9-12c6.6-11.4,14.1-32.2,14.1-68Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><path d="M96,192v8a32,32,0,0,0,64,0v-8" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path></symbol>
|
|
21
41
|
|
|
22
42
|
<symbol id="BellRinging" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"></rect><path d="M56.20305,112a71.80121,71.80121,0,1,1,143.60186,0h0c0,35.81563,7.49325,56.59893,14.093,67.95814A7.999,7.999,0,0,1,207.01628,192H48.98365A7.99908,7.99908,0,0,1,42.103,179.95641c6.60328-11.35959,14.1-32.1426,14.1-67.95641Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><path d="M96,192v8a32,32,0,0,0,64,0v-8" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><path d="M183.43247,23.98832a104.46641,104.46641,0,0,1,37.91845,42.1156" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><path d="M34.64909,66.10391A104.46639,104.46639,0,0,1,72.56757,23.98829" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path></symbol>
|
|
23
43
|
|
|
44
|
+
<symbol id="AlertFilled" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 256 256"><path d="M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm-8,56a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm8,104a12,12,0,1,1,12-12A12,12,0,0,1,128,184Z"></path></symbol>
|
|
45
|
+
|
|
24
46
|
<symbol id="Calendar" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"></rect><rect x="40" y="40" width="176" height="176" rx="8" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" fill="none"></rect><line x1="176" y1="24" x2="176" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></line><line x1="80" y1="24" x2="80" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></line><line x1="40" y1="88" x2="216" y2="88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></line><path d="M92,127.99666h28l-16,20a16,16,0,1,1-11.30681,27.3206" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><polyline points="144 139.997 160 127.997 160 179.997" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></polyline></symbol>
|
|
25
47
|
|
|
26
48
|
<symbol id="CaretDown" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"></rect><polyline points="208 96 128 176 48 96" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="24"></polyline></symbol>
|
|
@@ -257,4 +279,44 @@
|
|
|
257
279
|
<symbol id="CheckCircle" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
258
280
|
<path d="M8.83464 13.8333L14.7096 7.95829L13.543 6.79163L8.83464 11.5L6.45964 9.12496L5.29297 10.2916L8.83464 13.8333ZM10.0013 18.3333C8.84852 18.3333 7.76519 18.1145 6.7513 17.677C5.73741 17.2395 4.85547 16.6458 4.10547 15.8958C3.35547 15.1458 2.76172 14.2638 2.32422 13.25C1.88672 12.2361 1.66797 11.1527 1.66797 9.99996C1.66797 8.84718 1.88672 7.76385 2.32422 6.74996C2.76172 5.73607 3.35547 4.85413 4.10547 4.10413C4.85547 3.35413 5.73741 2.76038 6.7513 2.32288C7.76519 1.88538 8.84852 1.66663 10.0013 1.66663C11.1541 1.66663 12.2374 1.88538 13.2513 2.32288C14.2652 2.76038 15.1471 3.35413 15.8971 4.10413C16.6471 4.85413 17.2409 5.73607 17.6784 6.74996C18.1159 7.76385 18.3346 8.84718 18.3346 9.99996C18.3346 11.1527 18.1159 12.2361 17.6784 13.25C17.2409 14.2638 16.6471 15.1458 15.8971 15.8958C15.1471 16.6458 14.2652 17.2395 13.2513 17.677C12.2374 18.1145 11.1541 18.3333 10.0013 18.3333ZM10.0013 16.6666C11.8624 16.6666 13.4388 16.0208 14.7305 14.7291C16.0221 13.4375 16.668 11.8611 16.668 9.99996C16.668 8.13885 16.0221 6.56246 14.7305 5.27079C13.4388 3.97913 11.8624 3.33329 10.0013 3.33329C8.14019 3.33329 6.5638 3.97913 5.27214 5.27079C3.98047 6.56246 3.33464 8.13885 3.33464 9.99996C3.33464 11.8611 3.98047 13.4375 5.27214 14.7291C6.5638 16.0208 8.14019 16.6666 10.0013 16.6666Z" fill="#015132"/>
|
|
259
281
|
</symbol>
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
<symbol id="Clip" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
285
|
+
<mask id="mask0_480_1752" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
|
|
286
|
+
<rect width="24" height="24" fill="#D9D9D9"/>
|
|
287
|
+
</mask>
|
|
288
|
+
<g mask="url(#mask0_480_1752)">
|
|
289
|
+
<path d="M18 15.75C18 17.4833 17.3917 18.9583 16.175 20.175C14.9583 21.3917 13.4833 22 11.75 22C10.0167 22 8.54167 21.3917 7.325 20.175C6.10833 18.9583 5.5 17.4833 5.5 15.75V6.5C5.5 5.25 5.9375 4.1875 6.8125 3.3125C7.6875 2.4375 8.75 2 10 2C11.25 2 12.3125 2.4375 13.1875 3.3125C14.0625 4.1875 14.5 5.25 14.5 6.5V15.25C14.5 16.0167 14.2333 16.6667 13.7 17.2C13.1667 17.7333 12.5167 18 11.75 18C10.9833 18 10.3333 17.7333 9.8 17.2C9.26667 16.6667 9 16.0167 9 15.25V6H11V15.25C11 15.4667 11.0708 15.6458 11.2125 15.7875C11.3542 15.9292 11.5333 16 11.75 16C11.9667 16 12.1458 15.9292 12.2875 15.7875C12.4292 15.6458 12.5 15.4667 12.5 15.25V6.5C12.4833 5.8 12.2375 5.20833 11.7625 4.725C11.2875 4.24167 10.7 4 10 4C9.3 4 8.70833 4.24167 8.225 4.725C7.74167 5.20833 7.5 5.8 7.5 6.5V15.75C7.48333 16.9333 7.89167 17.9375 8.725 18.7625C9.55833 19.5875 10.5667 20 11.75 20C12.9167 20 13.9083 19.5875 14.725 18.7625C15.5417 17.9375 15.9667 16.9333 16 15.75V6H18V15.75Z" fill="currentColor"/>
|
|
290
|
+
</g>
|
|
291
|
+
</symbol>
|
|
292
|
+
|
|
293
|
+
<symbol id="ClipPlus" width="60" height="50" viewBox="0 0 60 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
294
|
+
<g clip-path="url(#clip0_53_3652)">
|
|
295
|
+
<rect x="13" y="15" width="40" height="36" rx="6" transform="rotate(-9.35048 13 15)" fill="#CBE9FF"/>
|
|
296
|
+
<rect x="10.75" y="8.75" width="38.5" height="34.5" rx="5.25" fill="white" stroke="black" stroke-width="1.5" stroke-linecap="round"/>
|
|
297
|
+
<mask id="mask0_53_3652" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="17" y="14" width="24" height="24">
|
|
298
|
+
<rect x="17" y="14" width="24" height="24" fill="#D9D9D9"/>
|
|
299
|
+
</mask>
|
|
300
|
+
<g mask="url(#mask0_53_3652)">
|
|
301
|
+
<path d="M30.5 35.4802C28.9667 35.4802 27.6667 34.9546 26.6 33.9033C25.5333 32.8521 25 31.5708 25 30.0597V19.7113C25 18.6272 25.3917 17.6991 26.175 16.9271C26.9583 16.1551 27.9 15.769 29 15.769C30.1 15.769 31.0417 16.1551 31.825 16.9271C32.6083 17.6991 33 18.6272 33 19.7113V29.0741C33 29.764 32.7583 30.3471 32.275 30.8235C31.7917 31.2998 31.2 31.538 30.5 31.538C29.8 31.538 29.2083 31.2998 28.725 30.8235C28.2417 30.3471 28 29.764 28 29.0741V19.7113H29.5V29.0741C29.5 29.3533 29.5958 29.5874 29.7875 29.7763C29.9792 29.9652 30.2167 30.0597 30.5 30.0597C30.7833 30.0597 31.0208 29.9652 31.2125 29.7763C31.4042 29.5874 31.5 29.3533 31.5 29.0741V19.7113C31.5 19.0214 31.2583 18.4383 30.775 17.9619C30.2917 17.4856 29.7 17.2474 29 17.2474C28.3 17.2474 27.7083 17.4856 27.225 17.9619C26.7417 18.4383 26.5 19.0214 26.5 19.7113V30.0597C26.5 31.1438 26.8917 32.0718 27.675 32.8439C28.4583 33.6159 29.4 34.0019 30.5 34.0019C31.6 34.0019 32.5417 33.6159 33.325 32.8439C34.1083 32.0718 34.5 31.1438 34.5 30.0597V19.7113H36V30.0597C36 31.5708 35.4667 32.8521 34.4 33.9033C33.3333 34.9546 32.0333 35.4802 30.5 35.4802Z" fill="black"/>
|
|
302
|
+
</g>
|
|
303
|
+
<mask id="mask1_53_3652" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="-2" y="-2" width="25" height="25">
|
|
304
|
+
<rect x="-1.90356" y="-1.63379" width="24" height="24" fill="#D9D9D9"/>
|
|
305
|
+
</mask>
|
|
306
|
+
<g mask="url(#mask1_53_3652)">
|
|
307
|
+
<circle cx="10.6" cy="9.96621" r="9.6" fill="white"/>
|
|
308
|
+
<path d="M9.7 14.7666H11.5V10.8666H15.4V9.06658H11.5V5.16658H9.7V9.06658H5.8V10.8666H9.7V14.7666ZM10.6069 19.5666C9.28563 19.5666 8.04167 19.3166 6.875 18.8166C5.70833 18.3166 4.6875 17.6291 3.8125 16.7541C2.9375 15.8791 2.25 14.8586 1.75 13.6926C1.25 12.5266 1 11.2808 1 9.95513C1 8.62943 1.25 7.38741 1.75 6.22908C2.25 5.07074 2.9375 4.05408 3.8125 3.17908C4.6875 2.30408 5.70798 1.61658 6.87395 1.11658C8.03993 0.616577 9.28577 0.366577 10.6115 0.366577C11.9372 0.366577 13.1792 0.616577 14.3375 1.11658C15.4958 1.61658 16.5125 2.30408 17.3875 3.17908C18.2625 4.05408 18.95 5.07261 19.45 6.23468C19.95 7.39676 20.2 8.63843 20.2 9.95968C20.2 11.2809 19.95 12.5249 19.45 13.6916C18.95 14.8582 18.2625 15.8791 17.3875 16.7541C16.5125 17.6291 15.494 18.3166 14.3319 18.8166C13.1698 19.3166 11.9282 19.5666 10.6069 19.5666ZM10.6 17.7666C12.7667 17.7666 14.6083 17.0082 16.125 15.4916C17.6417 13.9749 18.4 12.1332 18.4 9.96658C18.4 7.79991 17.6417 5.95824 16.125 4.44158C14.6083 2.92491 12.7667 2.16658 10.6 2.16658C8.43333 2.16658 6.59167 2.92491 5.075 4.44158C3.55833 5.95824 2.8 7.79991 2.8 9.96658C2.8 12.1332 3.55833 13.9749 5.075 15.4916C6.59167 17.0082 8.43333 17.7666 10.6 17.7666Z" fill="#0366DD"/>
|
|
309
|
+
</g>
|
|
310
|
+
</g>
|
|
311
|
+
<defs>
|
|
312
|
+
<clipPath id="clip0_53_3652">
|
|
313
|
+
<rect width="60" height="50" fill="white"/>
|
|
314
|
+
</clipPath>
|
|
315
|
+
</defs>
|
|
316
|
+
</symbol>
|
|
317
|
+
|
|
318
|
+
<symbol id="Inventory" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
|
|
319
|
+
<path d="M11 19.425V12.575L5 9.1V15.95L11 19.425ZM13 19.425L19 15.95V9.1L13 12.575V19.425ZM11 21.725L4 17.7C3.68333 17.5167 3.4375 17.275 3.2625 16.975C3.0875 16.675 3 16.3417 3 15.975V8.025C3 7.65833 3.0875 7.325 3.2625 7.025C3.4375 6.725 3.68333 6.48333 4 6.3L11 2.275C11.3167 2.09167 11.65 2 12 2C12.35 2 12.6833 2.09167 13 2.275L20 6.3C20.3167 6.48333 20.5625 6.725 20.7375 7.025C20.9125 7.325 21 7.65833 21 8.025V15.975C21 16.3417 20.9125 16.675 20.7375 16.975C20.5625 17.275 20.3167 17.5167 20 17.7L13 21.725C12.6833 21.9083 12.35 22 12 22C11.65 22 11.3167 21.9083 11 21.725ZM16 8.525L17.925 7.425L12 4L10.05 5.125L16 8.525ZM12 10.85L13.95 9.725L8.025 6.3L6.075 7.425L12 10.85Z"/>
|
|
320
|
+
</symbol>
|
|
321
|
+
|
|
260
322
|
</svg>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { RefObject } from 'react'
|
|
2
|
+
import { useEffect } from 'react'
|
|
3
|
+
|
|
4
|
+
const SHOPPING_ASSISTANT_SCRIPT_URL = 'https://cdn.cloud.weni.ai/agentic-cx.js'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Injects the Shopping Assistant script when the hook runs, unless third-party scripts are disabled.
|
|
8
|
+
* @param containerRef - Optional ref to an HTMLElement. When provided, the script is appended inside this container (e.g. inside the ShoppingAssistant section). Otherwise the script is appended to document.head.
|
|
9
|
+
* Must be used in a component rendered in the body (not inside Next.js Head) so that useEffect runs on the client.
|
|
10
|
+
*/
|
|
11
|
+
export function useShoppingAssistant(
|
|
12
|
+
containerRef?: RefObject<HTMLElement | null>
|
|
13
|
+
): void {
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (process.env.DISABLE_3P_SCRIPTS) return
|
|
16
|
+
|
|
17
|
+
const script = document.createElement('script')
|
|
18
|
+
script.src = SHOPPING_ASSISTANT_SCRIPT_URL
|
|
19
|
+
const container = containerRef?.current
|
|
20
|
+
if (container) {
|
|
21
|
+
container.appendChild(script)
|
|
22
|
+
} else {
|
|
23
|
+
document.head.appendChild(script)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return () => {
|
|
27
|
+
script.remove()
|
|
28
|
+
}
|
|
29
|
+
}, [containerRef])
|
|
30
|
+
}
|
|
@@ -11,6 +11,7 @@ import storeConfig from '../../../../../discovery.config'
|
|
|
11
11
|
import { ProfileSummary } from '../ProfileSummary/ProfileSummary'
|
|
12
12
|
import { OrganizationDrawerBody } from './OrganizationDrawerBody'
|
|
13
13
|
import { OrganizationDrawerHeader } from './OrganizationDrawerHeader'
|
|
14
|
+
import { setReloadAfterLogoutReturn } from './useReloadAfterLogoutReturn'
|
|
14
15
|
import styles from './section.module.scss'
|
|
15
16
|
|
|
16
17
|
type OrganizationDrawerProps = {
|
|
@@ -27,6 +28,7 @@ const clearBrowserStorageForCurrentDomain = async () => {
|
|
|
27
28
|
const sessionStorageKeys = [
|
|
28
29
|
'faststore_session_ready',
|
|
29
30
|
'faststore_auth_cookie_value',
|
|
31
|
+
'faststore_person_id',
|
|
30
32
|
'faststore_cache_bust_last_value',
|
|
31
33
|
]
|
|
32
34
|
|
|
@@ -53,6 +55,25 @@ const clearBrowserStorageForCurrentDomain = async () => {
|
|
|
53
55
|
} catch {}
|
|
54
56
|
} catch {}
|
|
55
57
|
|
|
58
|
+
// Clear IndexedDB: remove session key first (avoids blocked when DB has open connections),
|
|
59
|
+
// then delete the whole keyval-store
|
|
60
|
+
try {
|
|
61
|
+
if ('indexedDB' in window) {
|
|
62
|
+
const { del } = await import('idb-keyval')
|
|
63
|
+
await del('fs::session').catch(() => {})
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const idb = window.indexedDB
|
|
67
|
+
if (idb) {
|
|
68
|
+
await new Promise<void>((resolve) => {
|
|
69
|
+
const req = idb.deleteDatabase('keyval-store')
|
|
70
|
+
req.onsuccess = () => resolve()
|
|
71
|
+
req.onerror = () => resolve()
|
|
72
|
+
req.onblocked = () => resolve()
|
|
73
|
+
})
|
|
74
|
+
}
|
|
75
|
+
} catch {}
|
|
76
|
+
|
|
56
77
|
// Clear all cookies containing 'vtex' in the name (case-insensitive)
|
|
57
78
|
try {
|
|
58
79
|
const hostname = window.location.hostname
|
|
@@ -80,21 +101,6 @@ const clearBrowserStorageForCurrentDomain = async () => {
|
|
|
80
101
|
}
|
|
81
102
|
}
|
|
82
103
|
} catch {}
|
|
83
|
-
|
|
84
|
-
// Clear IndexedDB (keyval-store)
|
|
85
|
-
try {
|
|
86
|
-
if (!('indexedDB' in window)) return
|
|
87
|
-
|
|
88
|
-
const idb = window.indexedDB
|
|
89
|
-
if (!idb) return
|
|
90
|
-
|
|
91
|
-
await new Promise<void>((resolve) => {
|
|
92
|
-
const req = idb.deleteDatabase('keyval-store')
|
|
93
|
-
req.onsuccess = () => resolve()
|
|
94
|
-
req.onerror = () => resolve()
|
|
95
|
-
req.onblocked = () => resolve()
|
|
96
|
-
})
|
|
97
|
-
} catch {}
|
|
98
104
|
}
|
|
99
105
|
|
|
100
106
|
export const doLogout = async (_event?: unknown) => {
|
|
@@ -104,16 +110,19 @@ export const doLogout = async (_event?: unknown) => {
|
|
|
104
110
|
// Clear client-side storage (sessionStorage, localStorage, IndexedDB, non-HttpOnly cookies)
|
|
105
111
|
await clearBrowserStorageForCurrentDomain()
|
|
106
112
|
|
|
107
|
-
// Clear HttpOnly cookies via API endpoint (server-side)
|
|
113
|
+
// Clear HttpOnly cookies via API endpoint (server-side).
|
|
114
|
+
// Must await and consume the response so Set-Cookie headers are fully processed before redirect.
|
|
108
115
|
try {
|
|
109
|
-
await fetch('/api/fs/logout', {
|
|
116
|
+
const res = await fetch('/api/fs/logout', {
|
|
110
117
|
method: 'POST',
|
|
111
118
|
credentials: 'include',
|
|
112
119
|
})
|
|
120
|
+
await res.json().catch((): null => null)
|
|
113
121
|
} catch {
|
|
114
|
-
// Continue even if API call fails
|
|
122
|
+
// Continue even if API call fails (e.g. network error)
|
|
115
123
|
}
|
|
116
124
|
} finally {
|
|
125
|
+
setReloadAfterLogoutReturn()
|
|
117
126
|
window.location.assign(
|
|
118
127
|
`${storeConfig.secureSubdomain}/api/vtexid/pub/logout?scope=${storeConfig.api.storeId}&returnUrl=${storeConfig.storeUrl}`
|
|
119
128
|
)
|
package/src/components/account/MyAccountDrawer/OrganizationDrawer/useReloadAfterLogoutReturn.ts
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { useEffect } from 'react'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* When the user logs out from the OrganizationDrawer, we redirect to VTEX ID logout
|
|
5
|
+
* and then return to the store. We need to reload so session-dependent data
|
|
6
|
+
* (e.g. ProductShelf) and caches are fresh. This module ties that reload to the drawer flow.
|
|
7
|
+
*
|
|
8
|
+
* The return can happen in two ways:
|
|
9
|
+
* 1) bfcache restore: user hits Back or browser restores from cache → pageshow with persisted=true
|
|
10
|
+
* 2) Fresh load: VTEX ID redirects back → new navigation, persisted=false
|
|
11
|
+
*
|
|
12
|
+
* We handle both: check the flag on mount (fresh load) and on pageshow (bfcache).
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
export const RELOAD_AFTER_LOGOUT_KEY = 'faststore_reload_after_logout_return'
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Call before redirecting to logout. When the user returns to the store, the app
|
|
19
|
+
* will reload once so session state and caches are fresh.
|
|
20
|
+
*/
|
|
21
|
+
export const setReloadAfterLogoutReturn = (): void => {
|
|
22
|
+
if (typeof sessionStorage === 'undefined') return
|
|
23
|
+
try {
|
|
24
|
+
sessionStorage.setItem(RELOAD_AFTER_LOGOUT_KEY, '1')
|
|
25
|
+
} catch {
|
|
26
|
+
// Ignore
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const RELOAD_DELAY_MS = 1000
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Forces a full navigation with cache-busting param instead of reload().
|
|
34
|
+
* Bypasses disk cache by changing the URL, ensuring fresh HTML and API responses.
|
|
35
|
+
*/
|
|
36
|
+
const forceRefreshWithoutCache = (): void => {
|
|
37
|
+
const url = new URL(window.location.href)
|
|
38
|
+
url.searchParams.set('_', Date.now().toString())
|
|
39
|
+
window.location.replace(url.toString())
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const checkAndReloadIfReturnedFromLogout = (): void => {
|
|
43
|
+
try {
|
|
44
|
+
if (sessionStorage.getItem(RELOAD_AFTER_LOGOUT_KEY)) {
|
|
45
|
+
sessionStorage.removeItem(RELOAD_AFTER_LOGOUT_KEY)
|
|
46
|
+
setTimeout(forceRefreshWithoutCache, RELOAD_DELAY_MS)
|
|
47
|
+
}
|
|
48
|
+
} catch {
|
|
49
|
+
// Ignore.
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Hook to use in _app. Ensures a full reload when the user returns from logout
|
|
55
|
+
* (either via bfcache or fresh redirect), so data matches the new session.
|
|
56
|
+
*/
|
|
57
|
+
export const useReloadAfterLogoutReturn = (): void => {
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (typeof window === 'undefined') return
|
|
60
|
+
|
|
61
|
+
// 1) On mount: handles fresh load return (VTEX ID redirect). pageshow with persisted=false
|
|
62
|
+
// means we never get the event for that case, so we must check here.
|
|
63
|
+
checkAndReloadIfReturnedFromLogout()
|
|
64
|
+
|
|
65
|
+
// 2) On pageshow with persisted: handles bfcache restore
|
|
66
|
+
const onPageShow = (event: PageTransitionEvent) => {
|
|
67
|
+
if (event.persisted) {
|
|
68
|
+
checkAndReloadIfReturnedFromLogout()
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
window.addEventListener('pageshow', onPageShow)
|
|
73
|
+
return () => window.removeEventListener('pageshow', onPageShow)
|
|
74
|
+
}, [])
|
|
75
|
+
}
|
|
@@ -36,6 +36,13 @@ const RegionSlider = dynamic(
|
|
|
36
36
|
),
|
|
37
37
|
{ ssr: false }
|
|
38
38
|
)
|
|
39
|
+
const ShoppingAssistant = dynamic(
|
|
40
|
+
() =>
|
|
41
|
+
import(
|
|
42
|
+
/* webpackChunkName: "ShoppingAssistant" */ 'src/components/sections/ShoppingAssistant'
|
|
43
|
+
),
|
|
44
|
+
{ ssr: false }
|
|
45
|
+
)
|
|
39
46
|
|
|
40
47
|
const COMPONENTS: Record<string, ComponentType<any>> = {
|
|
41
48
|
[getComponentKey(Alert, 'Alert')]: Alert,
|
|
@@ -46,6 +53,7 @@ const COMPONENTS: Record<string, ComponentType<any>> = {
|
|
|
46
53
|
[getComponentKey(RegionModal, 'RegionModal')]: RegionModal, // out of viewport
|
|
47
54
|
[getComponentKey(RegionSlider, 'RegionSlider')]: RegionSlider, // out of viewport
|
|
48
55
|
[getComponentKey(Footer, 'Footer')]: Footer, // out of viewport
|
|
56
|
+
[getComponentKey(ShoppingAssistant, 'ShoppingAssistant')]: ShoppingAssistant,
|
|
49
57
|
...PLUGINS_COMPONENTS,
|
|
50
58
|
...CUSTOM_COMPONENTS,
|
|
51
59
|
}
|
|
@@ -48,6 +48,22 @@ interface Props {
|
|
|
48
48
|
* Title for the `ProductGrid` component that will be send to GA events.
|
|
49
49
|
*/
|
|
50
50
|
title?: string
|
|
51
|
+
searchId?: string
|
|
52
|
+
/**
|
|
53
|
+
* Function that returns optional external porps for each product summary.
|
|
54
|
+
* The returned key/value pairs will be spread onto the corresponding section element.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* buildExtraProductProps={(product, index, searchId) => ({
|
|
58
|
+
* 'data-af-category': product.category || 'unknown',
|
|
59
|
+
* 'data-af-index': String(index),
|
|
60
|
+
* })}
|
|
61
|
+
*/
|
|
62
|
+
buildExtraProductProps?: (
|
|
63
|
+
product: Record<string, any>,
|
|
64
|
+
index: number,
|
|
65
|
+
searchId: string
|
|
66
|
+
) => Record<string, string | number | boolean>
|
|
51
67
|
}
|
|
52
68
|
|
|
53
69
|
function ProductGrid({
|
|
@@ -64,6 +80,8 @@ function ProductGrid({
|
|
|
64
80
|
shouldShowComparison,
|
|
65
81
|
compareLabel,
|
|
66
82
|
title,
|
|
83
|
+
searchId,
|
|
84
|
+
buildExtraProductProps = () => ({}),
|
|
67
85
|
}: Props) {
|
|
68
86
|
const { isMobile } = useScreenResize()
|
|
69
87
|
const { __experimentalProductCard: ProductCard } =
|
|
@@ -77,7 +95,11 @@ function ProductGrid({
|
|
|
77
95
|
aspectRatio={aspectRatio}
|
|
78
96
|
loading={products.length === 0}
|
|
79
97
|
>
|
|
80
|
-
<UIProductGrid
|
|
98
|
+
<UIProductGrid
|
|
99
|
+
data-af-element={searchId && 'search-result'}
|
|
100
|
+
data-af-onimpression={!!searchId}
|
|
101
|
+
data-af-search-id={searchId}
|
|
102
|
+
>
|
|
81
103
|
{isGridWithViewportObserver ? (
|
|
82
104
|
// In mobile, the ProductGrid initially renders the first 2 items, the rest of the items are rendered when they come into the viewport.
|
|
83
105
|
<>
|
|
@@ -108,6 +130,7 @@ function ProductGrid({
|
|
|
108
130
|
index={pageSize * page + idx + 1}
|
|
109
131
|
taxesConfiguration={taxesConfiguration}
|
|
110
132
|
sponsoredLabel={sponsoredLabel}
|
|
133
|
+
{...buildExtraProductProps(product, idx, searchId)}
|
|
111
134
|
/>
|
|
112
135
|
</ProductSentinel>
|
|
113
136
|
</UIProductGridItem>
|
|
@@ -140,6 +163,7 @@ function ProductGrid({
|
|
|
140
163
|
index={pageSize * page + idx + 1}
|
|
141
164
|
taxesConfiguration={taxesConfiguration}
|
|
142
165
|
sponsoredLabel={sponsoredLabel}
|
|
166
|
+
{...buildExtraProductProps(product, idx, searchId)}
|
|
143
167
|
/>
|
|
144
168
|
</ProductSentinel>
|
|
145
169
|
</UIProductGridItem>
|
|
@@ -175,6 +199,7 @@ function ProductGrid({
|
|
|
175
199
|
index={pageSize * page + idx + 1}
|
|
176
200
|
taxesConfiguration={taxesConfiguration}
|
|
177
201
|
sponsoredLabel={sponsoredLabel}
|
|
202
|
+
{...buildExtraProductProps(product, idx, searchId)}
|
|
178
203
|
/>
|
|
179
204
|
</ProductSentinel>
|
|
180
205
|
</UIProductGridItem>
|
|
@@ -48,7 +48,7 @@ function SearchDropdown({
|
|
|
48
48
|
...otherProps
|
|
49
49
|
}: SearchDropdownProps) {
|
|
50
50
|
const {
|
|
51
|
-
values: { onSearchSelection, products, term, terms },
|
|
51
|
+
values: { onSearchSelection, products, term, terms, searchId },
|
|
52
52
|
} = useSearch()
|
|
53
53
|
|
|
54
54
|
return (
|
|
@@ -92,7 +92,11 @@ function SearchDropdown({
|
|
|
92
92
|
/>
|
|
93
93
|
))}
|
|
94
94
|
</UISearchAutoComplete>
|
|
95
|
-
<SearchProducts
|
|
95
|
+
<SearchProducts
|
|
96
|
+
data-af-element={searchId && 'search-autocomplete'}
|
|
97
|
+
data-af-onimpression={!!searchId}
|
|
98
|
+
data-af-search-id={searchId}
|
|
99
|
+
>
|
|
96
100
|
{products.map((product, index) => {
|
|
97
101
|
const productParsed = product as ProductSummary_ProductFragment
|
|
98
102
|
return (
|
|
@@ -104,6 +108,11 @@ function SearchDropdown({
|
|
|
104
108
|
onChangeCustomSearchDropdownVisible={
|
|
105
109
|
onChangeCustomSearchDropdownVisible
|
|
106
110
|
}
|
|
111
|
+
data-af-element={searchId && 'search-autocomplete'}
|
|
112
|
+
data-af-onclick={!!(searchId && productParsed.id)}
|
|
113
|
+
data-af-search-id={searchId}
|
|
114
|
+
data-af-product-position={searchId && index + 1} // Product position in Search Analytics starts with 1
|
|
115
|
+
data-af-product-id={searchId && productParsed.id}
|
|
107
116
|
/>
|
|
108
117
|
)
|
|
109
118
|
})}
|