18 | The page you are looking for might have been removed, had its name 19 | changed, or is temporarily unavailable. 20 |
21 |├── .markdownlint.json
├── public
├── robots.txt
├── images
│ ├── 404.png
│ ├── logo.png
│ ├── aboutUs.png
│ ├── avatar.png
│ ├── banner.png
│ ├── favicon.png
│ ├── avatar-sm.png
│ ├── og-image.png
│ ├── product-1.png
│ ├── category-1.png
│ ├── category-2.png
│ ├── payment
│ │ ├── upay.png
│ │ ├── visa.png
│ │ ├── bkash.png
│ │ ├── nagad.png
│ │ ├── express.png
│ │ └── mastercard.png
│ ├── staff
│ │ └── staff.png
│ ├── call-to-action.png
│ ├── logo-darkmode.png
│ ├── image-placeholder.png
│ ├── no-search-found.png
│ ├── product-placeholder.jpg
│ └── quote.svg
└── .htaccess
├── .dockerignore
├── .vscode
├── extensions.json
└── settings.json
├── netlify.toml
├── .env.example
├── src
├── lib
│ ├── shopify
│ │ ├── fragments
│ │ │ ├── seo.ts
│ │ │ ├── image.ts
│ │ │ ├── cart.ts
│ │ │ └── product.ts
│ │ ├── queries
│ │ │ ├── menu.ts
│ │ │ ├── cart.ts
│ │ │ ├── vendor.ts
│ │ │ ├── page.ts
│ │ │ ├── product.ts
│ │ │ └── collection.ts
│ │ └── mutations
│ │ │ ├── customer.ts
│ │ │ └── cart.ts
│ ├── utils
│ │ ├── taxonomyFilter.ts
│ │ ├── dateFormat.ts
│ │ ├── sortFunctions.ts
│ │ ├── readingTime.ts
│ │ ├── similarItems.ts
│ │ ├── bgImageMod.ts
│ │ ├── textConverter.ts
│ │ └── cartActions.ts
│ ├── typeGuards.ts
│ ├── contentParser.astro
│ ├── constants.ts
│ ├── taxonomyParser.astro
│ └── utils.ts
├── pages
│ ├── sign-up.astro
│ ├── 404.astro
│ ├── api
│ │ ├── products.json.ts
│ │ ├── login.ts
│ │ └── sign-up.ts
│ ├── [regular].astro
│ ├── index.astro
│ ├── contact.astro
│ ├── login.astro
│ └── products
│ │ └── index.astro
├── layouts
│ ├── shortcodes
│ │ ├── Tab.tsx
│ │ ├── Youtube.tsx
│ │ ├── Video.tsx
│ │ ├── Button.tsx
│ │ ├── Accordion.tsx
│ │ ├── Tabs.tsx
│ │ └── Notice.tsx
│ ├── functional-components
│ │ ├── cart
│ │ │ ├── Cart.astro
│ │ │ ├── CloseCart.tsx
│ │ │ ├── OpenCart.tsx
│ │ │ ├── DeleteItemButton.tsx
│ │ │ ├── EditItemQuantityButton.tsx
│ │ │ └── AddToCart.tsx
│ │ ├── loadings
│ │ │ ├── LoadingDots.tsx
│ │ │ └── skeleton
│ │ │ │ ├── SkeletonCategory.tsx
│ │ │ │ ├── SkeletonProductThumb.tsx
│ │ │ │ ├── SkeletonFeaturedProducts.tsx
│ │ │ │ ├── SkeletonDescription.tsx
│ │ │ │ ├── SkeletonCards.tsx
│ │ │ │ ├── SkeletonProducts.tsx
│ │ │ │ └── SkeletonProductGallery.tsx
│ │ ├── Price.tsx
│ │ ├── rangeSlider
│ │ │ ├── rangeSlider.css
│ │ │ └── RangeSlider.tsx
│ │ ├── Accordion.tsx
│ │ ├── ProductLayoutViews.tsx
│ │ ├── product
│ │ │ ├── ShowTags.tsx
│ │ │ ├── PaymentSlider.tsx
│ │ │ ├── Tabs.tsx
│ │ │ └── VariantDropDown.tsx
│ │ ├── HeroSlider.tsx
│ │ ├── filter
│ │ │ ├── FilterDropdownItem.tsx
│ │ │ └── DropdownMenu.tsx
│ │ ├── SearchBar.tsx
│ │ ├── SocialShare.tsx
│ │ ├── NavUser.tsx
│ │ ├── CollectionsSlider.tsx
│ │ └── SignUpForm.tsx
│ ├── partials
│ │ ├── PageHeader.astro
│ │ ├── PostSidebar.astro
│ │ ├── CallToAction.astro
│ │ ├── Footer.astro
│ │ └── Testimonials.astro
│ ├── components
│ │ ├── Price.astro
│ │ ├── TwSizeIndicator.astro
│ │ ├── Social.astro
│ │ ├── Breadcrumbs.astro
│ │ ├── ImageMod.astro
│ │ ├── Share.astro
│ │ ├── Logo.astro
│ │ ├── FeaturedProducts.astro
│ │ ├── ThemeSwitcher.astro
│ │ └── Pagination.astro
│ └── helpers
│ │ ├── DynamicIcon.tsx
│ │ └── Announcement.tsx
├── types
│ ├── index.d.ts
│ ├── sections
│ │ ├── paymentCollection.ts
│ │ └── ctaSectionCollection.ts
│ └── pages
│ │ ├── contactCollection.ts
│ │ └── aboutCollection.ts
├── content
│ ├── sections
│ │ ├── call-to-action.md
│ │ └── payments-and-delivery.md
│ ├── contact
│ │ └── -index.md
│ └── pages
│ │ └── privacy-policy.md
├── styles
│ ├── buttons.css
│ ├── main.css
│ ├── base.css
│ ├── safe.css
│ ├── utilities.css
│ ├── generated-theme.css
│ └── navigation.css
├── config
│ ├── social.json
│ ├── theme.json
│ ├── menu.json
│ └── config.json
├── content.config.ts
└── cartStore.ts
├── .prettierrc
├── .editorconfig
├── .gitignore
├── config
└── nginx
│ └── nginx.conf
├── tsconfig.json
├── LICENSE
├── Dockerfile
├── astro.config.mjs
├── package.json
└── scripts
└── removeDarkmode.js
/.markdownlint.json:
--------------------------------------------------------------------------------
1 | {
2 | "MD033": false,
3 | "MD013": false
4 | }
5 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Allow: /
3 |
4 | Disallow: /api/*
--------------------------------------------------------------------------------
/public/images/404.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/404.png
--------------------------------------------------------------------------------
/public/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/logo.png
--------------------------------------------------------------------------------
/public/images/aboutUs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/aboutUs.png
--------------------------------------------------------------------------------
/public/images/avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/avatar.png
--------------------------------------------------------------------------------
/public/images/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/banner.png
--------------------------------------------------------------------------------
/public/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/favicon.png
--------------------------------------------------------------------------------
/.dockerignore:
--------------------------------------------------------------------------------
1 | Dockerfile
2 | .dockerignore
3 | node_modules
4 | npm-debug.log
5 | README.md
6 | .next
7 | .git
--------------------------------------------------------------------------------
/public/images/avatar-sm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/avatar-sm.png
--------------------------------------------------------------------------------
/public/images/og-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/og-image.png
--------------------------------------------------------------------------------
/public/images/product-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/product-1.png
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["astro-build.astro-vscode","bradlc.vscode-tailwindcss"]
3 | }
4 |
--------------------------------------------------------------------------------
/public/images/category-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/category-1.png
--------------------------------------------------------------------------------
/public/images/category-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/category-2.png
--------------------------------------------------------------------------------
/public/images/payment/upay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/payment/upay.png
--------------------------------------------------------------------------------
/public/images/payment/visa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/payment/visa.png
--------------------------------------------------------------------------------
/public/images/staff/staff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/staff/staff.png
--------------------------------------------------------------------------------
/public/images/call-to-action.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/call-to-action.png
--------------------------------------------------------------------------------
/public/images/logo-darkmode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/logo-darkmode.png
--------------------------------------------------------------------------------
/public/images/payment/bkash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/payment/bkash.png
--------------------------------------------------------------------------------
/public/images/payment/nagad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/payment/nagad.png
--------------------------------------------------------------------------------
/public/images/image-placeholder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/image-placeholder.png
--------------------------------------------------------------------------------
/public/images/no-search-found.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/no-search-found.png
--------------------------------------------------------------------------------
/public/images/payment/express.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/payment/express.png
--------------------------------------------------------------------------------
/netlify.toml:
--------------------------------------------------------------------------------
1 | [build]
2 | publish = "dist"
3 | command = "yarn build"
4 |
5 | [build.environment]
6 | NODE_VERSION = "22.21.1"
7 |
--------------------------------------------------------------------------------
/public/images/payment/mastercard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/payment/mastercard.png
--------------------------------------------------------------------------------
/public/images/product-placeholder.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeon-studio/storeplate/HEAD/public/images/product-placeholder.jpg
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "files.associations": {
3 | "*.mdx": "markdown"
4 | },
5 | "tailwindCSS.experimental.configFile": "src/styles/main.css"
6 | }
7 |
--------------------------------------------------------------------------------
/.env.example:
--------------------------------------------------------------------------------
1 | PUBLIC_SHOPIFY_API_SECRET_KEY=""
2 | PUBLIC_SHOPIFY_STOREFRONT_ACCESS_TOKEN=""
3 | PUBLIC_SHOPIFY_STORE_DOMAIN="[your-shopify-store-subdomain].myshopify.com"
4 |
--------------------------------------------------------------------------------
/src/lib/shopify/fragments/seo.ts:
--------------------------------------------------------------------------------
1 | const seoFragment = /* GraphQL */ `
2 | fragment seo on SEO {
3 | description
4 | title
5 | }
6 | `;
7 |
8 | export default seoFragment;
9 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": ["prettier-plugin-astro"],
3 | "overrides": [
4 | {
5 | "files": ["*.astro"],
6 | "options": {
7 | "parser": "astro"
8 | }
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/src/pages/sign-up.astro:
--------------------------------------------------------------------------------
1 | ---
2 | import SignUpForm from "@/functional-components/SignUpForm";
3 | import Base from "@/layouts/Base.astro";
4 | ---
5 |
6 |
20 | {formattedAmount} 21 | {currencyCode} 22 |
23 | -------------------------------------------------------------------------------- /src/layouts/functional-components/loadings/skeleton/SkeletonCategory.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | const SkeletonCategory = () => { 3 | return ( 4 |18 | The page you are looking for might have been removed, had its name 19 | changed, or is temporarily unavailable. 20 |
21 |28 | {formattedAmount} 29 | {currencyCode} 30 |
31 | ); 32 | }; 33 | 34 | export default Price; 35 | -------------------------------------------------------------------------------- /src/lib/utils/sortFunctions.ts: -------------------------------------------------------------------------------- 1 | // sort by date 2 | export const sortByDate = (array: any[]) => { 3 | const sortedArray = array.sort( 4 | (a: any, b: any) => 5 | new Date(b.data.date && b.data.date).valueOf() - 6 | new Date(a.data.date && a.data.date).valueOf(), 7 | ); 8 | return sortedArray; 9 | }; 10 | 11 | // sort product by weight 12 | export const sortByWeight = (array: any[]) => { 13 | const withWeight = array.filter( 14 | (item: { data: { weight: any } }) => item.data.weight, 15 | ); 16 | const withoutWeight = array.filter( 17 | (item: { data: { weight: any } }) => !item.data.weight, 18 | ); 19 | const sortedWeightedArray = withWeight.sort( 20 | (a: { data: { weight: number } }, b: { data: { weight: number } }) => 21 | a.data.weight - b.data.weight, 22 | ); 23 | const sortedArray = [...new Set([...sortedWeightedArray, ...withoutWeight])]; 24 | return sortedArray; 25 | }; 26 | -------------------------------------------------------------------------------- /src/layouts/functional-components/loadings/skeleton/SkeletonFeaturedProducts.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | const SkeletonFeaturedProducts = () => { 4 | return ( 5 |Explore Today's Featured Picks!
52 |26 | {item.description} 27 |
28 | )} 29 |85 | {item.products?.edges.length} items 86 |
87 |{humanize(type)}
79 |14 | Please fill your email and password to login 15 |
16 |58 | Don't have an account? 59 |
60 | 64 | Register 65 | 66 |117 | {currencySymbol} 118 | {minValue} {maxPriceData?.currencyCode || currencyCode} 119 |
120 |121 | {currencySymbol} 122 | {maxValue} {maxPriceData?.currencyCode || currencyCode} 123 |
124 |Create an account and start using...
76 |139 | I have read and agree to the 140 |
141 | 145 | Terms & Conditions 146 | 147 |151 | Have an account? 152 |
153 | 157 | Login 158 | 159 |