├── .eslintrc.json ├── .gitignore ├── README.md ├── next.config.js ├── package.json ├── postcss.config.js ├── public ├── favicon.ico └── vercel.svg ├── sanity └── schemas │ ├── blockContent.ts │ ├── category.ts │ ├── product.ts │ └── schema.ts ├── src ├── components │ ├── CategoryList │ │ ├── CategoryItem.tsx │ │ └── CategoryList.tsx │ ├── MetaHead.tsx │ ├── PageLayout │ │ ├── Cart │ │ │ ├── Cart.tsx │ │ │ ├── Item.tsx │ │ │ └── ItemList.tsx │ │ ├── Footer.tsx │ │ ├── Header.tsx │ │ └── PageLayout.tsx │ └── ProductList │ │ ├── ProductItem.tsx │ │ └── ProductList.tsx ├── contexts │ ├── cartItemsContext.ts │ └── cartVisibilityContext.ts ├── lib │ ├── interfaces │ │ ├── cart.ts │ │ ├── index.ts │ │ └── schema.ts │ ├── sanity │ │ ├── client.ts │ │ ├── queries │ │ │ ├── categories.ts │ │ │ ├── categories_slugs.ts │ │ │ ├── category.ts │ │ │ ├── category_products.ts │ │ │ ├── on_sale_products.ts │ │ │ ├── product.ts │ │ │ ├── products_by_slugs.ts │ │ │ └── products_slugs.ts │ │ └── urlFor.ts │ └── stripe │ │ └── getStripe.ts ├── pages │ ├── _app.tsx │ ├── _document.tsx │ ├── api │ │ └── stripe.ts │ ├── category │ │ └── [slug].tsx │ ├── index.tsx │ ├── product │ │ └── [slug].tsx │ └── success.tsx ├── reducers │ └── cart │ │ ├── actions.ts │ │ ├── reducer.ts │ │ └── types.ts └── styles │ ├── _helpers.scss │ ├── components │ ├── CategoryList │ │ └── CategoryItem.module.scss │ ├── PageLayout │ │ ├── Cart │ │ │ └── Item.module.scss │ │ └── Header.module.scss │ └── ProductList │ │ └── ProductItem.module.scss │ └── globals.scss ├── tailwind.config.js ├── tsconfig.json └── yarn.lock /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/README.md -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/next.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/package.json -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/postcss.config.js -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/public/vercel.svg -------------------------------------------------------------------------------- /sanity/schemas/blockContent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/sanity/schemas/blockContent.ts -------------------------------------------------------------------------------- /sanity/schemas/category.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/sanity/schemas/category.ts -------------------------------------------------------------------------------- /sanity/schemas/product.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/sanity/schemas/product.ts -------------------------------------------------------------------------------- /sanity/schemas/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/sanity/schemas/schema.ts -------------------------------------------------------------------------------- /src/components/CategoryList/CategoryItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/components/CategoryList/CategoryItem.tsx -------------------------------------------------------------------------------- /src/components/CategoryList/CategoryList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/components/CategoryList/CategoryList.tsx -------------------------------------------------------------------------------- /src/components/MetaHead.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/components/MetaHead.tsx -------------------------------------------------------------------------------- /src/components/PageLayout/Cart/Cart.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/components/PageLayout/Cart/Cart.tsx -------------------------------------------------------------------------------- /src/components/PageLayout/Cart/Item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/components/PageLayout/Cart/Item.tsx -------------------------------------------------------------------------------- /src/components/PageLayout/Cart/ItemList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/components/PageLayout/Cart/ItemList.tsx -------------------------------------------------------------------------------- /src/components/PageLayout/Footer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/components/PageLayout/Footer.tsx -------------------------------------------------------------------------------- /src/components/PageLayout/Header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/components/PageLayout/Header.tsx -------------------------------------------------------------------------------- /src/components/PageLayout/PageLayout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/components/PageLayout/PageLayout.tsx -------------------------------------------------------------------------------- /src/components/ProductList/ProductItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/components/ProductList/ProductItem.tsx -------------------------------------------------------------------------------- /src/components/ProductList/ProductList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/components/ProductList/ProductList.tsx -------------------------------------------------------------------------------- /src/contexts/cartItemsContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/contexts/cartItemsContext.ts -------------------------------------------------------------------------------- /src/contexts/cartVisibilityContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/contexts/cartVisibilityContext.ts -------------------------------------------------------------------------------- /src/lib/interfaces/cart.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/interfaces/cart.ts -------------------------------------------------------------------------------- /src/lib/interfaces/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/interfaces/index.ts -------------------------------------------------------------------------------- /src/lib/interfaces/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/interfaces/schema.ts -------------------------------------------------------------------------------- /src/lib/sanity/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/sanity/client.ts -------------------------------------------------------------------------------- /src/lib/sanity/queries/categories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/sanity/queries/categories.ts -------------------------------------------------------------------------------- /src/lib/sanity/queries/categories_slugs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/sanity/queries/categories_slugs.ts -------------------------------------------------------------------------------- /src/lib/sanity/queries/category.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/sanity/queries/category.ts -------------------------------------------------------------------------------- /src/lib/sanity/queries/category_products.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/sanity/queries/category_products.ts -------------------------------------------------------------------------------- /src/lib/sanity/queries/on_sale_products.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/sanity/queries/on_sale_products.ts -------------------------------------------------------------------------------- /src/lib/sanity/queries/product.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/sanity/queries/product.ts -------------------------------------------------------------------------------- /src/lib/sanity/queries/products_by_slugs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/sanity/queries/products_by_slugs.ts -------------------------------------------------------------------------------- /src/lib/sanity/queries/products_slugs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/sanity/queries/products_slugs.ts -------------------------------------------------------------------------------- /src/lib/sanity/urlFor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/sanity/urlFor.ts -------------------------------------------------------------------------------- /src/lib/stripe/getStripe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/lib/stripe/getStripe.ts -------------------------------------------------------------------------------- /src/pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/pages/_app.tsx -------------------------------------------------------------------------------- /src/pages/_document.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/pages/_document.tsx -------------------------------------------------------------------------------- /src/pages/api/stripe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/pages/api/stripe.ts -------------------------------------------------------------------------------- /src/pages/category/[slug].tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/pages/category/[slug].tsx -------------------------------------------------------------------------------- /src/pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/pages/index.tsx -------------------------------------------------------------------------------- /src/pages/product/[slug].tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/pages/product/[slug].tsx -------------------------------------------------------------------------------- /src/pages/success.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/pages/success.tsx -------------------------------------------------------------------------------- /src/reducers/cart/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/reducers/cart/actions.ts -------------------------------------------------------------------------------- /src/reducers/cart/reducer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/reducers/cart/reducer.ts -------------------------------------------------------------------------------- /src/reducers/cart/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/reducers/cart/types.ts -------------------------------------------------------------------------------- /src/styles/_helpers.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/styles/_helpers.scss -------------------------------------------------------------------------------- /src/styles/components/CategoryList/CategoryItem.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/styles/components/CategoryList/CategoryItem.module.scss -------------------------------------------------------------------------------- /src/styles/components/PageLayout/Cart/Item.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/styles/components/PageLayout/Cart/Item.module.scss -------------------------------------------------------------------------------- /src/styles/components/PageLayout/Header.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/styles/components/PageLayout/Header.module.scss -------------------------------------------------------------------------------- /src/styles/components/ProductList/ProductItem.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/styles/components/ProductList/ProductItem.module.scss -------------------------------------------------------------------------------- /src/styles/globals.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/src/styles/globals.scss -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/tailwind.config.js -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/tsconfig.json -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loq24/nextjs-sanity-ecommerce/HEAD/yarn.lock --------------------------------------------------------------------------------