├── .eslintrc.json ├── src ├── components │ ├── page.tsx │ ├── ui │ │ ├── label.tsx │ │ ├── textarea.tsx │ │ ├── input.tsx │ │ ├── button.tsx │ │ ├── card.tsx │ │ ├── table.tsx │ │ └── dropdown-menu.tsx │ ├── Nav.tsx │ └── ProductCard.tsx ├── lib │ ├── utils.ts │ ├── cache.ts │ ├── isValidPassword.ts │ └── formatters.ts ├── app │ ├── admin │ │ ├── _components │ │ │ └── PageHeader.tsx │ │ ├── loading.tsx │ │ ├── products │ │ │ ├── new │ │ │ │ └── page.tsx │ │ │ ├── [id] │ │ │ │ ├── edit │ │ │ │ │ └── page.tsx │ │ │ │ └── download │ │ │ │ │ └── route.ts │ │ │ ├── _components │ │ │ │ ├── ProductActions.tsx │ │ │ │ └── ProductForm.tsx │ │ │ └── page.tsx │ │ ├── _actions │ │ │ ├── users.ts │ │ │ ├── orders.ts │ │ │ └── products.ts │ │ ├── layout.tsx │ │ ├── users │ │ │ ├── _components │ │ │ │ └── UserActions.tsx │ │ │ └── page.tsx │ │ ├── orders │ │ │ ├── _components │ │ │ │ └── OrderActions.tsx │ │ │ └── page.tsx │ │ └── page.tsx │ ├── actions │ │ └── orders.ts │ ├── (customerFacing) │ │ ├── products │ │ │ ├── download │ │ │ │ ├── expired │ │ │ │ │ └── page.tsx │ │ │ │ └── [downloadVerificationId] │ │ │ │ │ └── route.ts │ │ │ ├── [id] │ │ │ │ └── purchase │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── _components │ │ │ │ │ └── CheckoutForm.tsx │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ ├── orders │ │ │ └── page.tsx │ │ ├── stripe │ │ │ └── purchase-success │ │ │ │ └── page.tsx │ │ └── page.tsx │ ├── layout.tsx │ ├── globals.css │ └── webhooks │ │ └── stripe │ │ └── route.tsx ├── db │ └── db.ts ├── middleware.ts ├── email │ ├── PurchaseReceipt.tsx │ ├── OrderHistory.tsx │ └── components │ │ └── OrderInformation.tsx └── actions │ └── orders.tsx ├── next.config.mjs ├── postcss.config.js ├── prisma ├── migrations │ ├── migration_lock.toml │ └── 20240227191221_init │ │ └── migration.sql └── schema.prisma ├── components.json ├── .gitignore ├── tsconfig.json ├── LICENSE ├── package.json ├── README.md └── tailwind.config.ts /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /src/components/page.tsx: -------------------------------------------------------------------------------- 1 | export default function Home() { 2 | return
{description}
40 |No sales found
46 | 47 | return ( 48 |No customers found
44 | 45 | return ( 46 |{body}
94 |No products found
54 | 55 | return ( 56 |