├── .editorconfig ├── .env.example ├── .eslintrc.js ├── .gitignore ├── .prettierrc.js ├── Dockerfile ├── README.md ├── docker-compose.yml ├── nodemon.json ├── package.json ├── src ├── access │ ├── admins.ts │ └── anyone.ts ├── blocks │ ├── Archive │ │ └── index.ts │ ├── CallToAction │ │ └── index.ts │ ├── Content │ │ └── index.ts │ └── Media │ │ └── index.ts ├── collections │ ├── Categories.ts │ ├── Media.ts │ ├── Orders │ │ ├── access │ │ │ └── adminsAndOrderedBy.ts │ │ ├── hooks │ │ │ └── syncUser.ts │ │ └── index.ts │ ├── Pages │ │ ├── access │ │ │ └── adminsOrPublished.ts │ │ └── index.ts │ ├── Products │ │ ├── access │ │ │ └── checkUserPurchases.ts │ │ ├── hooks │ │ │ ├── beforeChange.ts │ │ │ └── deleteProductFromCarts.ts │ │ ├── index.ts │ │ └── ui │ │ │ └── ProductSelect.tsx │ └── Users │ │ ├── access │ │ └── adminsAndUser.ts │ │ ├── checkRole.ts │ │ ├── hooks │ │ ├── createStripeCustomer.ts │ │ ├── ensureFirstUserIsAdmin.ts │ │ └── loginAfterCreate.ts │ │ ├── index.ts │ │ └── ui │ │ └── CustomerSelect.tsx ├── components │ └── BeforeDashboard │ │ ├── index.scss │ │ └── index.tsx ├── emptyModuleMock.js ├── fields │ ├── backgroundColor.ts │ ├── hero.ts │ ├── link.ts │ ├── linkGroup.ts │ ├── richText │ │ ├── elements.ts │ │ ├── index.ts │ │ ├── label │ │ │ ├── Button │ │ │ │ └── index.tsx │ │ │ ├── Element │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ │ ├── Icon │ │ │ │ └── index.tsx │ │ │ ├── index.ts │ │ │ └── plugin.ts │ │ ├── largeBody │ │ │ ├── Button │ │ │ │ └── index.tsx │ │ │ ├── Element │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ │ ├── Icon │ │ │ │ └── index.tsx │ │ │ ├── index.ts │ │ │ └── plugin.ts │ │ └── leaves.ts │ └── slug.ts ├── globals │ ├── Footer.ts │ ├── Header.ts │ └── Settings.ts ├── hooks │ ├── populateArchiveBlock.ts │ └── populatePublishedDate.ts ├── payload-types.ts ├── payload.config.ts ├── routes │ └── checkout.ts ├── seed │ ├── cart-page.ts │ ├── home.ts │ ├── image-1.jpg │ ├── image-1.ts │ ├── image-2.jpg │ ├── image-2.ts │ ├── image-3.jpg │ ├── image-3.ts │ ├── index.ts │ ├── product-1.ts │ ├── product-2.ts │ ├── product-3.ts │ └── shop-page.ts ├── server.ts ├── stripe │ └── webhooks │ │ ├── invoiceCreatedOrUpdated.ts │ │ ├── priceUpdated.ts │ │ └── productUpdated.ts └── utilities │ ├── deepMerge.ts │ └── formatSlug.ts ├── tsconfig.json ├── yarn-error.log └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['@payloadcms'], 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | dist 3 | /media 4 | node_modules 5 | .DS_Store 6 | .env 7 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/.prettierrc.js -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/Dockerfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /nodemon.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/nodemon.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/package.json -------------------------------------------------------------------------------- /src/access/admins.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/access/admins.ts -------------------------------------------------------------------------------- /src/access/anyone.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/access/anyone.ts -------------------------------------------------------------------------------- /src/blocks/Archive/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/blocks/Archive/index.ts -------------------------------------------------------------------------------- /src/blocks/CallToAction/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/blocks/CallToAction/index.ts -------------------------------------------------------------------------------- /src/blocks/Content/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/blocks/Content/index.ts -------------------------------------------------------------------------------- /src/blocks/Media/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/blocks/Media/index.ts -------------------------------------------------------------------------------- /src/collections/Categories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Categories.ts -------------------------------------------------------------------------------- /src/collections/Media.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Media.ts -------------------------------------------------------------------------------- /src/collections/Orders/access/adminsAndOrderedBy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Orders/access/adminsAndOrderedBy.ts -------------------------------------------------------------------------------- /src/collections/Orders/hooks/syncUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Orders/hooks/syncUser.ts -------------------------------------------------------------------------------- /src/collections/Orders/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Orders/index.ts -------------------------------------------------------------------------------- /src/collections/Pages/access/adminsOrPublished.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Pages/access/adminsOrPublished.ts -------------------------------------------------------------------------------- /src/collections/Pages/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Pages/index.ts -------------------------------------------------------------------------------- /src/collections/Products/access/checkUserPurchases.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Products/access/checkUserPurchases.ts -------------------------------------------------------------------------------- /src/collections/Products/hooks/beforeChange.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Products/hooks/beforeChange.ts -------------------------------------------------------------------------------- /src/collections/Products/hooks/deleteProductFromCarts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Products/hooks/deleteProductFromCarts.ts -------------------------------------------------------------------------------- /src/collections/Products/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Products/index.ts -------------------------------------------------------------------------------- /src/collections/Products/ui/ProductSelect.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Products/ui/ProductSelect.tsx -------------------------------------------------------------------------------- /src/collections/Users/access/adminsAndUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Users/access/adminsAndUser.ts -------------------------------------------------------------------------------- /src/collections/Users/checkRole.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Users/checkRole.ts -------------------------------------------------------------------------------- /src/collections/Users/hooks/createStripeCustomer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Users/hooks/createStripeCustomer.ts -------------------------------------------------------------------------------- /src/collections/Users/hooks/ensureFirstUserIsAdmin.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Users/hooks/ensureFirstUserIsAdmin.ts -------------------------------------------------------------------------------- /src/collections/Users/hooks/loginAfterCreate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Users/hooks/loginAfterCreate.ts -------------------------------------------------------------------------------- /src/collections/Users/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Users/index.ts -------------------------------------------------------------------------------- /src/collections/Users/ui/CustomerSelect.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/collections/Users/ui/CustomerSelect.tsx -------------------------------------------------------------------------------- /src/components/BeforeDashboard/index.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/components/BeforeDashboard/index.scss -------------------------------------------------------------------------------- /src/components/BeforeDashboard/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/components/BeforeDashboard/index.tsx -------------------------------------------------------------------------------- /src/emptyModuleMock.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/emptyModuleMock.js -------------------------------------------------------------------------------- /src/fields/backgroundColor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/backgroundColor.ts -------------------------------------------------------------------------------- /src/fields/hero.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/hero.ts -------------------------------------------------------------------------------- /src/fields/link.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/link.ts -------------------------------------------------------------------------------- /src/fields/linkGroup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/linkGroup.ts -------------------------------------------------------------------------------- /src/fields/richText/elements.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/elements.ts -------------------------------------------------------------------------------- /src/fields/richText/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/index.ts -------------------------------------------------------------------------------- /src/fields/richText/label/Button/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/label/Button/index.tsx -------------------------------------------------------------------------------- /src/fields/richText/label/Element/index.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/label/Element/index.scss -------------------------------------------------------------------------------- /src/fields/richText/label/Element/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/label/Element/index.tsx -------------------------------------------------------------------------------- /src/fields/richText/label/Icon/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/label/Icon/index.tsx -------------------------------------------------------------------------------- /src/fields/richText/label/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/label/index.ts -------------------------------------------------------------------------------- /src/fields/richText/label/plugin.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/label/plugin.ts -------------------------------------------------------------------------------- /src/fields/richText/largeBody/Button/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/largeBody/Button/index.tsx -------------------------------------------------------------------------------- /src/fields/richText/largeBody/Element/index.scss: -------------------------------------------------------------------------------- 1 | @import "~payload/scss"; 2 | 3 | .rich-text-large-body { 4 | font-size: base(.8); 5 | } 6 | -------------------------------------------------------------------------------- /src/fields/richText/largeBody/Element/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/largeBody/Element/index.tsx -------------------------------------------------------------------------------- /src/fields/richText/largeBody/Icon/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/largeBody/Icon/index.tsx -------------------------------------------------------------------------------- /src/fields/richText/largeBody/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/largeBody/index.ts -------------------------------------------------------------------------------- /src/fields/richText/largeBody/plugin.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/largeBody/plugin.ts -------------------------------------------------------------------------------- /src/fields/richText/leaves.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/richText/leaves.ts -------------------------------------------------------------------------------- /src/fields/slug.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/fields/slug.ts -------------------------------------------------------------------------------- /src/globals/Footer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/globals/Footer.ts -------------------------------------------------------------------------------- /src/globals/Header.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/globals/Header.ts -------------------------------------------------------------------------------- /src/globals/Settings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/globals/Settings.ts -------------------------------------------------------------------------------- /src/hooks/populateArchiveBlock.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/hooks/populateArchiveBlock.ts -------------------------------------------------------------------------------- /src/hooks/populatePublishedDate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/hooks/populatePublishedDate.ts -------------------------------------------------------------------------------- /src/payload-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/payload-types.ts -------------------------------------------------------------------------------- /src/payload.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/payload.config.ts -------------------------------------------------------------------------------- /src/routes/checkout.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/routes/checkout.ts -------------------------------------------------------------------------------- /src/seed/cart-page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/cart-page.ts -------------------------------------------------------------------------------- /src/seed/home.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/home.ts -------------------------------------------------------------------------------- /src/seed/image-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/image-1.jpg -------------------------------------------------------------------------------- /src/seed/image-1.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/image-1.ts -------------------------------------------------------------------------------- /src/seed/image-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/image-2.jpg -------------------------------------------------------------------------------- /src/seed/image-2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/image-2.ts -------------------------------------------------------------------------------- /src/seed/image-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/image-3.jpg -------------------------------------------------------------------------------- /src/seed/image-3.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/image-3.ts -------------------------------------------------------------------------------- /src/seed/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/index.ts -------------------------------------------------------------------------------- /src/seed/product-1.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/product-1.ts -------------------------------------------------------------------------------- /src/seed/product-2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/product-2.ts -------------------------------------------------------------------------------- /src/seed/product-3.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/product-3.ts -------------------------------------------------------------------------------- /src/seed/shop-page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/seed/shop-page.ts -------------------------------------------------------------------------------- /src/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/server.ts -------------------------------------------------------------------------------- /src/stripe/webhooks/invoiceCreatedOrUpdated.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/stripe/webhooks/invoiceCreatedOrUpdated.ts -------------------------------------------------------------------------------- /src/stripe/webhooks/priceUpdated.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/stripe/webhooks/priceUpdated.ts -------------------------------------------------------------------------------- /src/stripe/webhooks/productUpdated.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/stripe/webhooks/productUpdated.ts -------------------------------------------------------------------------------- /src/utilities/deepMerge.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/utilities/deepMerge.ts -------------------------------------------------------------------------------- /src/utilities/formatSlug.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/src/utilities/formatSlug.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/tsconfig.json -------------------------------------------------------------------------------- /yarn-error.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/yarn-error.log -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/payloadcms/template-ecommerce/HEAD/yarn.lock --------------------------------------------------------------------------------