This commit implements the core admin dashboard functionality including NextAuth authentication, Cloudflare D1 database integration with complete schema, and Cloudflare R2 file upload system for portfolio images. Features include artist management, appointment scheduling, and data migration capabilities.
110 lines
3.9 KiB
JSON
110 lines
3.9 KiB
JSON
{
|
|
"name": "my-v0-project",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"build": "next build",
|
|
"dev": "next dev",
|
|
"dev:wrangler": "npm run pages:build && npx @opennextjs/cloudflare@latest preview",
|
|
"lint": "next lint",
|
|
"start": "next start",
|
|
"test": "vitest",
|
|
"test:ui": "vitest --ui",
|
|
"test:run": "vitest run",
|
|
"test:coverage": "vitest run --coverage",
|
|
"pages:build": "npx @opennextjs/cloudflare@latest build",
|
|
"preview": "npx @opennextjs/cloudflare@latest preview",
|
|
"deploy": "wrangler pages deploy .vercel/output/static",
|
|
"db:create": "wrangler d1 create united-tattoo",
|
|
"db:migrate": "wrangler d1 execute united-tattoo --file=./sql/schema.sql",
|
|
"db:migrate:local": "wrangler d1 execute united-tattoo --local --file=./sql/schema.sql",
|
|
"db:studio": "wrangler d1 execute united-tattoo --command=\"SELECT name FROM sqlite_master WHERE type='table';\"",
|
|
"db:studio:local": "wrangler d1 execute united-tattoo --local --command=\"SELECT name FROM sqlite_master WHERE type='table';\""
|
|
},
|
|
"dependencies": {
|
|
"@auth/supabase-adapter": "^1.10.0",
|
|
"@aws-sdk/client-s3": "^3.890.0",
|
|
"@aws-sdk/s3-request-presigner": "^3.890.0",
|
|
"@cloudflare/next-on-pages": "^1.13.16",
|
|
"@hookform/resolvers": "^3.10.0",
|
|
"@opennextjs/cloudflare": "^1.8.2",
|
|
"@radix-ui/react-accordion": "latest",
|
|
"@radix-ui/react-alert-dialog": "1.1.4",
|
|
"@radix-ui/react-aspect-ratio": "1.1.1",
|
|
"@radix-ui/react-avatar": "1.1.2",
|
|
"@radix-ui/react-checkbox": "latest",
|
|
"@radix-ui/react-collapsible": "1.1.2",
|
|
"@radix-ui/react-context-menu": "latest",
|
|
"@radix-ui/react-dialog": "latest",
|
|
"@radix-ui/react-dropdown-menu": "latest",
|
|
"@radix-ui/react-hover-card": "1.1.4",
|
|
"@radix-ui/react-label": "2.1.1",
|
|
"@radix-ui/react-menubar": "latest",
|
|
"@radix-ui/react-navigation-menu": "latest",
|
|
"@radix-ui/react-popover": "1.1.4",
|
|
"@radix-ui/react-progress": "1.1.1",
|
|
"@radix-ui/react-radio-group": "latest",
|
|
"@radix-ui/react-scroll-area": "1.2.2",
|
|
"@radix-ui/react-select": "latest",
|
|
"@radix-ui/react-separator": "1.1.1",
|
|
"@radix-ui/react-slider": "1.2.2",
|
|
"@radix-ui/react-slot": "latest",
|
|
"@radix-ui/react-switch": "1.1.2",
|
|
"@radix-ui/react-tabs": "1.1.2",
|
|
"@radix-ui/react-toast": "1.2.4",
|
|
"@radix-ui/react-toggle": "1.1.1",
|
|
"@radix-ui/react-toggle-group": "1.1.1",
|
|
"@radix-ui/react-tooltip": "1.1.6",
|
|
"@studio-freight/lenis": "latest",
|
|
"@supabase/supabase-js": "^2.57.4",
|
|
"@tanstack/react-query": "^5.89.0",
|
|
"@tanstack/react-query-devtools": "^5.89.0",
|
|
"@tanstack/react-table": "^8.21.3",
|
|
"@vercel/analytics": "1.3.1",
|
|
"autoprefixer": "^10.4.20",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "latest",
|
|
"date-fns": "latest",
|
|
"embla-carousel-react": "8.5.1",
|
|
"geist": "^1.3.1",
|
|
"input-otp": "latest",
|
|
"lucide-react": "^0.454.0",
|
|
"moment": "^2.30.1",
|
|
"next": "14.2.16",
|
|
"next-auth": "^4.24.11",
|
|
"next-themes": "^0.4.6",
|
|
"react": "^18",
|
|
"react-big-calendar": "^1.19.4",
|
|
"react-day-picker": "latest",
|
|
"react-dom": "^18",
|
|
"react-dropzone": "^14.3.8",
|
|
"react-hook-form": "^7.60.0",
|
|
"react-resizable-panels": "latest",
|
|
"recharts": "2.15.4",
|
|
"sonner": "^1.7.4",
|
|
"tailwind-merge": "^2.5.5",
|
|
"tailwindcss-animate": "^1.0.7",
|
|
"vaul": "^0.9.9",
|
|
"zod": "3.25.67"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4.1.9",
|
|
"@testing-library/jest-dom": "^6.8.0",
|
|
"@testing-library/react": "^16.3.0",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/node": "^22",
|
|
"@types/react": "^18",
|
|
"@types/react-big-calendar": "^1.16.3",
|
|
"@types/react-dom": "^18",
|
|
"@vitejs/plugin-react": "^5.0.3",
|
|
"jsdom": "^27.0.0",
|
|
"postcss": "^8.5",
|
|
"tailwindcss": "^4.1.9",
|
|
"tw-animate-css": "1.3.3",
|
|
"typescript": "^5",
|
|
"vitest": "^3.2.4",
|
|
"wrangler": "^4.37.1"
|
|
}
|
|
}
|