create-apppaaaul 2.0.11 → 2.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +20 -20
  2. package/dist/index.js +0 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/templates/nextjs-ts-clean/.cursor/rules/bootstrap-cursor-rules.mdc +44 -44
  5. package/dist/templates/nextjs-ts-clean/.cursor/rules/front-end-cursor-rules.mdc +37 -37
  6. package/dist/templates/nextjs-ts-clean/.cursor/rules/optimized-nextjs-typescript-best-practices-modern-ui-ux.mdc +57 -57
  7. package/dist/templates/{nextjs-ts-landing-drizzle → nextjs-ts-clean/project/.cursor}/rules/bootstrap-cursor-rules.mdc +44 -44
  8. package/dist/templates/{nextjs-ts-landing-drizzle → nextjs-ts-clean/project/.cursor}/rules/front-end-cursor-rules.mdc +37 -37
  9. package/dist/templates/{nextjs-ts-landing-prisma → nextjs-ts-clean/project/.cursor}/rules/optimized-nextjs-typescript-best-practices-modern-ui-ux.mdc +57 -57
  10. package/dist/templates/nextjs-ts-clean/project/.editorconfig +9 -9
  11. package/dist/templates/nextjs-ts-clean/project/.vscode/launch.json +28 -28
  12. package/dist/templates/nextjs-ts-clean/project/.vscode/settings.json +8 -8
  13. package/dist/templates/nextjs-ts-clean/project/README.md +15 -15
  14. package/dist/templates/nextjs-ts-clean/project/components.json +20 -20
  15. package/dist/templates/nextjs-ts-clean/project/eslint.config.mjs +21 -10
  16. package/dist/templates/nextjs-ts-clean/project/next.config.mjs +13 -13
  17. package/dist/templates/nextjs-ts-clean/project/package.json +48 -49
  18. package/dist/templates/nextjs-ts-clean/project/postcss.config.js +3 -3
  19. package/dist/templates/nextjs-ts-clean/project/src/app/globals.css +228 -228
  20. package/dist/templates/nextjs-ts-clean/project/src/app/layout.tsx +26 -26
  21. package/dist/templates/nextjs-ts-clean/project/src/app/page.tsx +5 -5
  22. package/dist/templates/nextjs-ts-clean/project/src/components/ui/button.tsx +49 -49
  23. package/dist/templates/nextjs-ts-clean/project/src/lib/utils.ts +6 -6
  24. package/dist/templates/nextjs-ts-clean/project/tailwind.config.ts +94 -94
  25. package/dist/templates/nextjs-ts-clean/project/tsconfig.json +26 -26
  26. package/dist/templates/nextjs-ts-landing/project/.editorconfig +9 -9
  27. package/dist/templates/nextjs-ts-landing/project/.vscode/launch.json +28 -28
  28. package/dist/templates/nextjs-ts-landing/project/.vscode/settings.json +8 -8
  29. package/dist/templates/{nextjs-ts-landing-prisma → nextjs-ts-landing-drizzle/project/.cursor}/rules/bootstrap-cursor-rules.mdc +44 -44
  30. package/dist/templates/{nextjs-ts-landing-prisma → nextjs-ts-landing-drizzle/project/.cursor}/rules/front-end-cursor-rules.mdc +37 -37
  31. package/dist/templates/nextjs-ts-landing-drizzle/{rules → project/.cursor/rules}/optimized-nextjs-typescript-best-practices-modern-ui-ux.mdc +57 -57
  32. package/dist/templates/nextjs-ts-landing-drizzle/project/.editorconfig +9 -9
  33. package/dist/templates/nextjs-ts-landing-drizzle/project/.vscode/launch.json +28 -28
  34. package/dist/templates/nextjs-ts-landing-drizzle/project/.vscode/settings.json +8 -8
  35. package/dist/templates/nextjs-ts-landing-drizzle/project/README.md +15 -15
  36. package/dist/templates/nextjs-ts-landing-drizzle/project/components.json +20 -20
  37. package/dist/templates/nextjs-ts-landing-drizzle/project/drizzle.config.ts +11 -11
  38. package/dist/templates/nextjs-ts-landing-drizzle/project/eslint.config.mjs +183 -0
  39. package/dist/templates/nextjs-ts-landing-drizzle/project/next.config.mjs +10 -10
  40. package/dist/templates/nextjs-ts-landing-drizzle/project/package.json +57 -58
  41. package/dist/templates/nextjs-ts-landing-drizzle/project/postcss.config.js +3 -3
  42. package/dist/templates/nextjs-ts-landing-drizzle/project/src/app/api/auth/[...nextauth]/route.ts +3 -3
  43. package/dist/templates/nextjs-ts-landing-drizzle/project/src/app/globals.css +161 -161
  44. package/dist/templates/nextjs-ts-landing-drizzle/project/src/app/layout.tsx +25 -25
  45. package/dist/templates/nextjs-ts-landing-drizzle/project/src/app/page.tsx +5 -5
  46. package/dist/templates/nextjs-ts-landing-drizzle/project/src/auth.ts +79 -79
  47. package/dist/templates/nextjs-ts-landing-drizzle/project/src/components/ui/button.tsx +49 -49
  48. package/dist/templates/nextjs-ts-landing-drizzle/project/src/db/index.ts +25 -25
  49. package/dist/templates/nextjs-ts-landing-drizzle/project/src/db/schema.ts +93 -93
  50. package/dist/templates/nextjs-ts-landing-drizzle/project/src/lib/utils.ts +6 -6
  51. package/dist/templates/nextjs-ts-landing-drizzle/project/tailwind.config.ts +80 -80
  52. package/dist/templates/nextjs-ts-landing-drizzle/project/tsconfig.json +27 -27
  53. package/dist/templates/nextjs-ts-landing-prisma/project/.cursor/rules/bootstrap-cursor-rules.mdc +45 -0
  54. package/dist/templates/nextjs-ts-landing-prisma/project/.cursor/rules/front-end-cursor-rules.mdc +38 -0
  55. package/dist/templates/nextjs-ts-landing-prisma/project/.cursor/rules/optimized-nextjs-typescript-best-practices-modern-ui-ux.mdc +58 -0
  56. package/dist/templates/nextjs-ts-landing-prisma/project/.editorconfig +9 -9
  57. package/dist/templates/nextjs-ts-landing-prisma/project/.vscode/launch.json +28 -28
  58. package/dist/templates/nextjs-ts-landing-prisma/project/.vscode/settings.json +8 -8
  59. package/dist/templates/nextjs-ts-landing-prisma/project/README.md +15 -15
  60. package/dist/templates/nextjs-ts-landing-prisma/project/components.json +20 -20
  61. package/dist/templates/nextjs-ts-landing-prisma/project/eslint.config.mjs +25 -14
  62. package/dist/templates/nextjs-ts-landing-prisma/project/next.config.mjs +10 -10
  63. package/dist/templates/nextjs-ts-landing-prisma/project/package.json +57 -59
  64. package/dist/templates/nextjs-ts-landing-prisma/project/postcss.config.mjs +3 -3
  65. package/dist/templates/nextjs-ts-landing-prisma/project/prisma/migrations/20250329125127_init/migration.sql +25 -25
  66. package/dist/templates/nextjs-ts-landing-prisma/project/prisma/migrations/migration_lock.toml +2 -2
  67. package/dist/templates/nextjs-ts-landing-prisma/project/prisma/schema.prisma +24 -24
  68. package/dist/templates/nextjs-ts-landing-prisma/project/src/app/api/auth/[...nextauth]/route.ts +3 -3
  69. package/dist/templates/nextjs-ts-landing-prisma/project/src/app/globals.css +205 -205
  70. package/dist/templates/nextjs-ts-landing-prisma/project/src/app/layout.tsx +26 -26
  71. package/dist/templates/nextjs-ts-landing-prisma/project/src/app/page.tsx +5 -5
  72. package/dist/templates/nextjs-ts-landing-prisma/project/src/auth.ts +31 -31
  73. package/dist/templates/nextjs-ts-landing-prisma/project/src/components/ui/button.tsx +49 -49
  74. package/dist/templates/nextjs-ts-landing-prisma/project/src/lib/db.ts +9 -9
  75. package/dist/templates/nextjs-ts-landing-prisma/project/src/lib/utils.ts +6 -6
  76. package/dist/templates/nextjs-ts-landing-prisma/project/tailwind.config.ts +80 -80
  77. package/dist/templates/nextjs-ts-landing-prisma/project/tsconfig.json +27 -27
  78. package/package.json +43 -43
  79. package/dist/templates/nextjs-ts-landing/project/.eslintrc.cjs +0 -101
@@ -1,206 +1,206 @@
1
- @import "tailwindcss";
2
-
3
- @custom-variant dark (&:is(.dark *));
4
-
5
- :root {
6
-
7
- --card: oklch(1 0 0);
8
- --card-foreground: oklch(0.145 0 0);
9
-
10
- --popover: oklch(1 0 0);
11
- --popover-foreground: oklch(0.145 0 0);
12
-
13
- --primary: oklch(0.205 0 0);
14
- --primary-foreground: oklch(0.985 0 0);
15
- --secondary: oklch(0.97 0 0);
16
- --secondary-foreground: oklch(0.205 0 0);
17
- --muted: oklch(0.97 0 0);
18
- --muted-foreground: oklch(0.556 0 0);
19
- --accent: oklch(0.97 0 0);
20
- --accent-foreground: oklch(0.205 0 0);
21
- --destructive: oklch(0.577 0.245 27.325);
22
- --destructive-foreground: hsl(0 0% 98%);
23
-
24
- --border: oklch(0.922 0 0);
25
- --input: oklch(0.922 0 0);
26
- --ring: oklch(0.708 0 0);
27
-
28
- --chart-1: oklch(0.646 0.222 41.116);
29
- --chart-2: oklch(0.6 0.118 184.704);
30
- --chart-3: oklch(0.398 0.07 227.392);
31
- --chart-4: oklch(0.828 0.189 84.429);
32
- --chart-5: oklch(0.769 0.188 70.08);
33
-
34
- --radius: 0.625rem;
35
-
36
- --background: oklch(1 0 0);
37
-
38
- --foreground: oklch(0.145 0 0);
39
-
40
- --sidebar: oklch(0.985 0 0);
41
-
42
- --sidebar-foreground: oklch(0.145 0 0);
43
-
44
- --sidebar-primary: oklch(0.205 0 0);
45
-
46
- --sidebar-primary-foreground: oklch(0.985 0 0);
47
-
48
- --sidebar-accent: oklch(0.97 0 0);
49
-
50
- --sidebar-accent-foreground: oklch(0.205 0 0);
51
-
52
- --sidebar-border: oklch(0.922 0 0);
53
-
54
- --sidebar-ring: oklch(0.708 0 0);
55
- }
56
-
57
- @media (prefers-color-scheme: dark) {
58
- :root {
59
-
60
- --card: hsl(240 10% 3.9%);
61
- --card-foreground: hsl(0 0% 98%);
62
-
63
- --popover: hsl(240 10% 3.9%);
64
- --popover-foreground: hsl(0 0% 98%);
65
-
66
- --primary: hsl(0 0% 98%);
67
- --primary-foreground: hsl(240 5.9% 10%);
68
- --secondary: hsl(240 3.7% 15.9%);
69
- --secondary-foreground: hsl(0 0% 98%);
70
- --muted: hsl(240 3.7% 15.9%);
71
- --muted-foreground: hsl(240 5% 64.9%);
72
- --accent: hsl(240 3.7% 15.9%);
73
- --accent-foreground: hsl(0 0% 98%);
74
- --destructive: hsl(0 62.8% 30.6%);
75
- --destructive-foreground: hsl(0 0% 98%);
76
-
77
- --border: hsl(240 3.7% 15.9%);
78
- --input: hsl(240 3.7% 15.9%);
79
- --ring: hsl(240 4.9% 83.9%);
80
-
81
- --chart-1: hsl(220 70% 50%);
82
- --chart-2: hsl(160 60% 45%);
83
- --chart-3: hsl(30 80% 55%);
84
- --chart-4: hsl(280 65% 60%);
85
- --chart-5: hsl(340 75% 55%);
86
- }
87
- }
88
-
89
- @theme inline {
90
- --color-background: var(--background);
91
- --color-foreground: var(--foreground);
92
-
93
- --color-card: var(--card);
94
- --color-card-foreground: var(--card-foreground);
95
-
96
- --color-popover: var(--popover);
97
- --color-popover-foreground: var(--popover-foreground);
98
-
99
- --color-primary: var(--primary);
100
- --color-primary-foreground: var(--primary-foreground);
101
- --color-secondary: var(--secondary);
102
- --color-secondary-foreground: var(--secondary-foreground);
103
- --color-muted: var(--muted);
104
- --color-muted-foreground: var(--muted-foreground);
105
- --color-accent: var(--accent);
106
- --color-accent-foreground: var(--accent-foreground);
107
- --color-destructive: var(--destructive);
108
- --color-destructive-foreground: var(--destructive-foreground);
109
-
110
- --color-border: var(--border);
111
- --color-input: var(--input);
112
- --color-ring: var(--ring);
113
-
114
- --color-chart-1: var(--chart-1);
115
- --color-chart-2: var(--chart-2);
116
- --color-chart-3: var(--chart-3);
117
- --color-chart-4: var(--chart-4);
118
- --color-chart-5: var(--chart-5);
119
-
120
- --radius-sm: calc(var(--radius) - 4px);
121
- --radius-md: calc(var(--radius) - 2px);
122
- --radius-lg: var(--radius);
123
- --radius-xl: calc(var(--radius) + 4px);
124
- --color-sidebar-ring: var(--sidebar-ring);
125
- --color-sidebar-border: var(--sidebar-border);
126
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
127
- --color-sidebar-accent: var(--sidebar-accent);
128
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
129
- --color-sidebar-primary: var(--sidebar-primary);
130
- --color-sidebar-foreground: var(--sidebar-foreground);
131
- --color-sidebar: var(--sidebar);
132
- }
133
-
134
- @layer base {
135
- * {
136
- @apply border-border outline-ring/50;
137
- }
138
- body {
139
- @apply bg-background text-foreground;
140
- }
141
- }
142
-
143
- .dark {
144
-
145
- --background: oklch(0.145 0 0);
146
-
147
- --foreground: oklch(0.985 0 0);
148
-
149
- --card: oklch(0.205 0 0);
150
-
151
- --card-foreground: oklch(0.985 0 0);
152
-
153
- --popover: oklch(0.205 0 0);
154
-
155
- --popover-foreground: oklch(0.985 0 0);
156
-
157
- --primary: oklch(0.922 0 0);
158
-
159
- --primary-foreground: oklch(0.205 0 0);
160
-
161
- --secondary: oklch(0.269 0 0);
162
-
163
- --secondary-foreground: oklch(0.985 0 0);
164
-
165
- --muted: oklch(0.269 0 0);
166
-
167
- --muted-foreground: oklch(0.708 0 0);
168
-
169
- --accent: oklch(0.269 0 0);
170
-
171
- --accent-foreground: oklch(0.985 0 0);
172
-
173
- --destructive: oklch(0.704 0.191 22.216);
174
-
175
- --border: oklch(1 0 0 / 10%);
176
-
177
- --input: oklch(1 0 0 / 15%);
178
-
179
- --ring: oklch(0.556 0 0);
180
-
181
- --chart-1: oklch(0.488 0.243 264.376);
182
-
183
- --chart-2: oklch(0.696 0.17 162.48);
184
-
185
- --chart-3: oklch(0.769 0.188 70.08);
186
-
187
- --chart-4: oklch(0.627 0.265 303.9);
188
-
189
- --chart-5: oklch(0.645 0.246 16.439);
190
-
191
- --sidebar: oklch(0.205 0 0);
192
-
193
- --sidebar-foreground: oklch(0.985 0 0);
194
-
195
- --sidebar-primary: oklch(0.488 0.243 264.376);
196
-
197
- --sidebar-primary-foreground: oklch(0.985 0 0);
198
-
199
- --sidebar-accent: oklch(0.269 0 0);
200
-
201
- --sidebar-accent-foreground: oklch(0.985 0 0);
202
-
203
- --sidebar-border: oklch(1 0 0 / 10%);
204
-
205
- --sidebar-ring: oklch(0.556 0 0);
1
+ @import "tailwindcss";
2
+
3
+ @custom-variant dark (&:is(.dark *));
4
+
5
+ :root {
6
+
7
+ --card: oklch(1 0 0);
8
+ --card-foreground: oklch(0.145 0 0);
9
+
10
+ --popover: oklch(1 0 0);
11
+ --popover-foreground: oklch(0.145 0 0);
12
+
13
+ --primary: oklch(0.205 0 0);
14
+ --primary-foreground: oklch(0.985 0 0);
15
+ --secondary: oklch(0.97 0 0);
16
+ --secondary-foreground: oklch(0.205 0 0);
17
+ --muted: oklch(0.97 0 0);
18
+ --muted-foreground: oklch(0.556 0 0);
19
+ --accent: oklch(0.97 0 0);
20
+ --accent-foreground: oklch(0.205 0 0);
21
+ --destructive: oklch(0.577 0.245 27.325);
22
+ --destructive-foreground: hsl(0 0% 98%);
23
+
24
+ --border: oklch(0.922 0 0);
25
+ --input: oklch(0.922 0 0);
26
+ --ring: oklch(0.708 0 0);
27
+
28
+ --chart-1: oklch(0.646 0.222 41.116);
29
+ --chart-2: oklch(0.6 0.118 184.704);
30
+ --chart-3: oklch(0.398 0.07 227.392);
31
+ --chart-4: oklch(0.828 0.189 84.429);
32
+ --chart-5: oklch(0.769 0.188 70.08);
33
+
34
+ --radius: 0.625rem;
35
+
36
+ --background: oklch(1 0 0);
37
+
38
+ --foreground: oklch(0.145 0 0);
39
+
40
+ --sidebar: oklch(0.985 0 0);
41
+
42
+ --sidebar-foreground: oklch(0.145 0 0);
43
+
44
+ --sidebar-primary: oklch(0.205 0 0);
45
+
46
+ --sidebar-primary-foreground: oklch(0.985 0 0);
47
+
48
+ --sidebar-accent: oklch(0.97 0 0);
49
+
50
+ --sidebar-accent-foreground: oklch(0.205 0 0);
51
+
52
+ --sidebar-border: oklch(0.922 0 0);
53
+
54
+ --sidebar-ring: oklch(0.708 0 0);
55
+ }
56
+
57
+ @media (prefers-color-scheme: dark) {
58
+ :root {
59
+
60
+ --card: hsl(240 10% 3.9%);
61
+ --card-foreground: hsl(0 0% 98%);
62
+
63
+ --popover: hsl(240 10% 3.9%);
64
+ --popover-foreground: hsl(0 0% 98%);
65
+
66
+ --primary: hsl(0 0% 98%);
67
+ --primary-foreground: hsl(240 5.9% 10%);
68
+ --secondary: hsl(240 3.7% 15.9%);
69
+ --secondary-foreground: hsl(0 0% 98%);
70
+ --muted: hsl(240 3.7% 15.9%);
71
+ --muted-foreground: hsl(240 5% 64.9%);
72
+ --accent: hsl(240 3.7% 15.9%);
73
+ --accent-foreground: hsl(0 0% 98%);
74
+ --destructive: hsl(0 62.8% 30.6%);
75
+ --destructive-foreground: hsl(0 0% 98%);
76
+
77
+ --border: hsl(240 3.7% 15.9%);
78
+ --input: hsl(240 3.7% 15.9%);
79
+ --ring: hsl(240 4.9% 83.9%);
80
+
81
+ --chart-1: hsl(220 70% 50%);
82
+ --chart-2: hsl(160 60% 45%);
83
+ --chart-3: hsl(30 80% 55%);
84
+ --chart-4: hsl(280 65% 60%);
85
+ --chart-5: hsl(340 75% 55%);
86
+ }
87
+ }
88
+
89
+ @theme inline {
90
+ --color-background: var(--background);
91
+ --color-foreground: var(--foreground);
92
+
93
+ --color-card: var(--card);
94
+ --color-card-foreground: var(--card-foreground);
95
+
96
+ --color-popover: var(--popover);
97
+ --color-popover-foreground: var(--popover-foreground);
98
+
99
+ --color-primary: var(--primary);
100
+ --color-primary-foreground: var(--primary-foreground);
101
+ --color-secondary: var(--secondary);
102
+ --color-secondary-foreground: var(--secondary-foreground);
103
+ --color-muted: var(--muted);
104
+ --color-muted-foreground: var(--muted-foreground);
105
+ --color-accent: var(--accent);
106
+ --color-accent-foreground: var(--accent-foreground);
107
+ --color-destructive: var(--destructive);
108
+ --color-destructive-foreground: var(--destructive-foreground);
109
+
110
+ --color-border: var(--border);
111
+ --color-input: var(--input);
112
+ --color-ring: var(--ring);
113
+
114
+ --color-chart-1: var(--chart-1);
115
+ --color-chart-2: var(--chart-2);
116
+ --color-chart-3: var(--chart-3);
117
+ --color-chart-4: var(--chart-4);
118
+ --color-chart-5: var(--chart-5);
119
+
120
+ --radius-sm: calc(var(--radius) - 4px);
121
+ --radius-md: calc(var(--radius) - 2px);
122
+ --radius-lg: var(--radius);
123
+ --radius-xl: calc(var(--radius) + 4px);
124
+ --color-sidebar-ring: var(--sidebar-ring);
125
+ --color-sidebar-border: var(--sidebar-border);
126
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
127
+ --color-sidebar-accent: var(--sidebar-accent);
128
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
129
+ --color-sidebar-primary: var(--sidebar-primary);
130
+ --color-sidebar-foreground: var(--sidebar-foreground);
131
+ --color-sidebar: var(--sidebar);
132
+ }
133
+
134
+ @layer base {
135
+ * {
136
+ @apply border-border outline-ring/50;
137
+ }
138
+ body {
139
+ @apply bg-background text-foreground;
140
+ }
141
+ }
142
+
143
+ .dark {
144
+
145
+ --background: oklch(0.145 0 0);
146
+
147
+ --foreground: oklch(0.985 0 0);
148
+
149
+ --card: oklch(0.205 0 0);
150
+
151
+ --card-foreground: oklch(0.985 0 0);
152
+
153
+ --popover: oklch(0.205 0 0);
154
+
155
+ --popover-foreground: oklch(0.985 0 0);
156
+
157
+ --primary: oklch(0.922 0 0);
158
+
159
+ --primary-foreground: oklch(0.205 0 0);
160
+
161
+ --secondary: oklch(0.269 0 0);
162
+
163
+ --secondary-foreground: oklch(0.985 0 0);
164
+
165
+ --muted: oklch(0.269 0 0);
166
+
167
+ --muted-foreground: oklch(0.708 0 0);
168
+
169
+ --accent: oklch(0.269 0 0);
170
+
171
+ --accent-foreground: oklch(0.985 0 0);
172
+
173
+ --destructive: oklch(0.704 0.191 22.216);
174
+
175
+ --border: oklch(1 0 0 / 10%);
176
+
177
+ --input: oklch(1 0 0 / 15%);
178
+
179
+ --ring: oklch(0.556 0 0);
180
+
181
+ --chart-1: oklch(0.488 0.243 264.376);
182
+
183
+ --chart-2: oklch(0.696 0.17 162.48);
184
+
185
+ --chart-3: oklch(0.769 0.188 70.08);
186
+
187
+ --chart-4: oklch(0.627 0.265 303.9);
188
+
189
+ --chart-5: oklch(0.645 0.246 16.439);
190
+
191
+ --sidebar: oklch(0.205 0 0);
192
+
193
+ --sidebar-foreground: oklch(0.985 0 0);
194
+
195
+ --sidebar-primary: oklch(0.488 0.243 264.376);
196
+
197
+ --sidebar-primary-foreground: oklch(0.985 0 0);
198
+
199
+ --sidebar-accent: oklch(0.269 0 0);
200
+
201
+ --sidebar-accent-foreground: oklch(0.985 0 0);
202
+
203
+ --sidebar-border: oklch(1 0 0 / 10%);
204
+
205
+ --sidebar-ring: oklch(0.556 0 0);
206
206
  }
@@ -1,26 +1,26 @@
1
- import type { Metadata } from "next";
2
-
3
- import Link from "next/link";
4
-
5
- import "./globals.css";
6
-
7
- export const metadata: Metadata = {
8
- title: "{{name}}",
9
- description: "A project by Paaauldev",
10
- };
11
-
12
- export default function RootLayout({ children }: { children: React.ReactNode }) {
13
- return (
14
- <html lang="en">
15
- <body className="bg-background container m-auto grid min-h-screen grid-rows-[auto,1fr,auto] px-4 font-sans antialiased">
16
- <header className="text-xl font-bold leading-[4rem]">
17
- <Link href="/">{{ name }}</Link>
18
- </header>
19
- <main className="py-8">{children}</main>
20
- <footer className="text-center leading-[4rem] opacity-70">
21
- © {new Date().getFullYear()} {{ name }}
22
- </footer>
23
- </body>
24
- </html>
25
- );
26
- }
1
+ import type { Metadata } from "next";
2
+
3
+ import Link from "next/link";
4
+
5
+ import "./globals.css";
6
+
7
+ export const metadata: Metadata = {
8
+ title: "{{name}}",
9
+ description: "A project by Paaauldev",
10
+ };
11
+
12
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
13
+ return (
14
+ <html lang="en">
15
+ <body className="bg-background container m-auto grid min-h-screen grid-rows-[auto,1fr,auto] px-4 font-sans antialiased">
16
+ <header className="text-xl font-bold leading-[4rem]">
17
+ <Link href="/">{{ name }}</Link>
18
+ </header>
19
+ <main className="py-8">{children}</main>
20
+ <footer className="text-center leading-[4rem] opacity-70">
21
+ © {new Date().getFullYear()} {{ name }}
22
+ </footer>
23
+ </body>
24
+ </html>
25
+ );
26
+ }
@@ -1,5 +1,5 @@
1
- import { Button } from "@/components/ui/button";
2
-
3
- export default function HomePage() {
4
- return <Button>Holi</Button>;
5
- }
1
+ import { Button } from "@/components/ui/button";
2
+
3
+ export default function HomePage() {
4
+ return <Button>Holi</Button>;
5
+ }
@@ -1,31 +1,31 @@
1
- import NextAuth from "next-auth";
2
- import { PrismaAdapter } from "@auth/prisma-adapter";
3
- import Google from "next-auth/providers/google";
4
-
5
- import { db } from "./lib/db";
6
-
7
- export const { handlers, signIn, signOut, auth } = NextAuth({
8
- adapter: PrismaAdapter(db),
9
- providers: [
10
- Google({
11
- clientId: process.env.AUTH_GOOGLE_ID!,
12
- clientSecret: process.env.AUTH_GOOGLE_SECRET!,
13
- }),
14
- ],
15
- session: {
16
- strategy: "jwt",
17
- },
18
- pages: {
19
- signIn: "/login",
20
- error: "/error",
21
- },
22
- callbacks: {
23
- async session({ session, token }) {
24
- if (session.user) {
25
- session.user.id = token.sub!;
26
- }
27
-
28
- return session;
29
- },
30
- },
31
- });
1
+ import NextAuth from "next-auth";
2
+ import { PrismaAdapter } from "@auth/prisma-adapter";
3
+ import Google from "next-auth/providers/google";
4
+
5
+ import { db } from "./lib/db";
6
+
7
+ export const { handlers, signIn, signOut, auth } = NextAuth({
8
+ adapter: PrismaAdapter(db),
9
+ providers: [
10
+ Google({
11
+ clientId: process.env.AUTH_GOOGLE_ID!,
12
+ clientSecret: process.env.AUTH_GOOGLE_SECRET!,
13
+ }),
14
+ ],
15
+ session: {
16
+ strategy: "jwt",
17
+ },
18
+ pages: {
19
+ signIn: "/login",
20
+ error: "/error",
21
+ },
22
+ callbacks: {
23
+ async session({ session, token }) {
24
+ if (session.user) {
25
+ session.user.id = token.sub!;
26
+ }
27
+
28
+ return session;
29
+ },
30
+ },
31
+ });
@@ -1,49 +1,49 @@
1
- import * as React from "react";
2
- import {Slot} from "@radix-ui/react-slot";
3
- import {cva, type VariantProps} from "class-variance-authority";
4
-
5
- import {cn} from "@/lib/utils";
6
-
7
- const buttonVariants = cva(
8
- "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
9
- {
10
- variants: {
11
- variant: {
12
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
13
- destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
14
- outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
15
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
16
- ghost: "hover:bg-accent hover:text-accent-foreground",
17
- link: "text-primary underline-offset-4 hover:underline",
18
- },
19
- size: {
20
- default: "h-10 px-4 py-2",
21
- sm: "h-9 rounded-md px-3",
22
- lg: "h-11 rounded-md px-8",
23
- icon: "h-10 w-10",
24
- },
25
- },
26
- defaultVariants: {
27
- variant: "default",
28
- size: "default",
29
- },
30
- },
31
- );
32
-
33
- export interface ButtonProps
34
- extends React.ButtonHTMLAttributes<HTMLButtonElement>,
35
- VariantProps<typeof buttonVariants> {
36
- asChild?: boolean;
37
- }
38
-
39
- const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
40
- ({className, variant, size, asChild = false, ...props}, ref) => {
41
- const Comp = asChild ? Slot : "button";
42
-
43
- return <Comp ref={ref} className={cn(buttonVariants({variant, size, className}))} {...props} />;
44
- },
45
- );
46
-
47
- Button.displayName = "Button";
48
-
49
- export {Button, buttonVariants};
1
+ import * as React from "react";
2
+ import {Slot} from "@radix-ui/react-slot";
3
+ import {cva, type VariantProps} from "class-variance-authority";
4
+
5
+ import {cn} from "@/lib/utils";
6
+
7
+ const buttonVariants = cva(
8
+ "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
9
+ {
10
+ variants: {
11
+ variant: {
12
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
13
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
14
+ outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
15
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
16
+ ghost: "hover:bg-accent hover:text-accent-foreground",
17
+ link: "text-primary underline-offset-4 hover:underline",
18
+ },
19
+ size: {
20
+ default: "h-10 px-4 py-2",
21
+ sm: "h-9 rounded-md px-3",
22
+ lg: "h-11 rounded-md px-8",
23
+ icon: "h-10 w-10",
24
+ },
25
+ },
26
+ defaultVariants: {
27
+ variant: "default",
28
+ size: "default",
29
+ },
30
+ },
31
+ );
32
+
33
+ export interface ButtonProps
34
+ extends React.ButtonHTMLAttributes<HTMLButtonElement>,
35
+ VariantProps<typeof buttonVariants> {
36
+ asChild?: boolean;
37
+ }
38
+
39
+ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
40
+ ({className, variant, size, asChild = false, ...props}, ref) => {
41
+ const Comp = asChild ? Slot : "button";
42
+
43
+ return <Comp ref={ref} className={cn(buttonVariants({variant, size, className}))} {...props} />;
44
+ },
45
+ );
46
+
47
+ Button.displayName = "Button";
48
+
49
+ export {Button, buttonVariants};
@@ -1,9 +1,9 @@
1
- import { PrismaClient } from "@prisma/client";
2
-
3
- const globalForPrisma = global as unknown as { prisma: PrismaClient };
4
-
5
- export const db = globalForPrisma.prisma || new PrismaClient();
6
-
7
- if (process.env.NODE_ENV !== "production") {
8
- globalForPrisma.prisma = db;
9
- }
1
+ import { PrismaClient } from "@prisma/client";
2
+
3
+ const globalForPrisma = global as unknown as { prisma: PrismaClient };
4
+
5
+ export const db = globalForPrisma.prisma || new PrismaClient();
6
+
7
+ if (process.env.NODE_ENV !== "production") {
8
+ globalForPrisma.prisma = db;
9
+ }
@@ -1,6 +1,6 @@
1
- import { clsx, type ClassValue } from "clsx"
2
- import { twMerge } from "tailwind-merge"
3
-
4
- export function cn(...inputs: ClassValue[]) {
5
- return twMerge(clsx(inputs))
6
- }
1
+ import { clsx, type ClassValue } from "clsx"
2
+ import { twMerge } from "tailwind-merge"
3
+
4
+ export function cn(...inputs: ClassValue[]) {
5
+ return twMerge(clsx(inputs))
6
+ }