create-deesse-app 0.4.3 → 0.5.0

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 (56) hide show
  1. package/bin/cli.js +0 -0
  2. package/dist/bin/cli.js +0 -0
  3. package/dist/src/copy.d.ts +1 -1
  4. package/dist/src/copy.d.ts.map +1 -1
  5. package/dist/src/copy.js +1 -1
  6. package/dist/src/copy.js.map +1 -1
  7. package/dist/src/index.js +14 -2
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/tsconfig.tsbuildinfo +1 -1
  10. package/package.json +11 -11
  11. package/templates/default/drizzle/0000_cheerful_clea.sql +58 -0
  12. package/templates/default/drizzle/meta/0000_snapshot.json +405 -0
  13. package/templates/default/drizzle/meta/_journal.json +13 -0
  14. package/templates/default/drizzle.config.ts +11 -0
  15. package/templates/default/next.config.ts +1 -1
  16. package/templates/default/package.json +1 -0
  17. package/templates/default/src/app/(deesse)/admin/[[...slug]]/page.tsx +4 -2
  18. package/templates/default/src/app/(deesse)/admin/layout.tsx +5 -2
  19. package/templates/default/src/app/layout.tsx +1 -1
  20. package/templates/default/src/db/schema/auth-schema.ts +100 -0
  21. package/templates/default/src/deesse.config.ts +10 -1
  22. package/templates/default/src/deesse.pages.tsx +1 -0
  23. package/templates/default/src/lib/auth.ts +3 -0
  24. package/templates/default/src/lib/client.ts +7 -0
  25. package/templates/default/src/lib/deesse.ts +5 -0
  26. package/templates/without-admin/AGENTS.md +5 -0
  27. package/templates/without-admin/CLAUDE.md +1 -0
  28. package/templates/without-admin/README.md +28 -0
  29. package/templates/without-admin/components.json +25 -0
  30. package/templates/without-admin/drizzle/0000_cheerful_clea.sql +58 -0
  31. package/templates/without-admin/drizzle/meta/0000_snapshot.json +405 -0
  32. package/templates/without-admin/drizzle/meta/_journal.json +13 -0
  33. package/templates/without-admin/drizzle.config.ts +11 -0
  34. package/templates/without-admin/eslint.config.mjs +18 -0
  35. package/templates/without-admin/package.json +50 -0
  36. package/templates/without-admin/postcss.config.mjs +7 -0
  37. package/templates/without-admin/public/file.svg +1 -0
  38. package/templates/without-admin/public/globe.svg +1 -0
  39. package/templates/without-admin/public/nesalia.svg +50 -0
  40. package/templates/without-admin/public/window.svg +1 -0
  41. package/templates/without-admin/skills-lock.json +10 -0
  42. package/templates/without-admin/src/app/globals.css +130 -0
  43. package/templates/without-admin/src/app/icon.svg +109 -0
  44. package/templates/without-admin/src/app/layout.tsx +33 -0
  45. package/templates/without-admin/src/app/page.tsx +50 -0
  46. package/templates/without-admin/src/components/providers/index.tsx +9 -0
  47. package/templates/without-admin/src/components/providers/theme-provider.tsx +11 -0
  48. package/templates/without-admin/src/db/schema/auth-schema.ts +100 -0
  49. package/templates/without-admin/src/deesse.config.ts +20 -0
  50. package/templates/without-admin/src/deesse.pages.tsx +1 -0
  51. package/templates/without-admin/src/hooks/use-mobile.ts +5 -0
  52. package/templates/without-admin/src/lib/auth.ts +3 -0
  53. package/templates/without-admin/src/lib/client.ts +7 -0
  54. package/templates/without-admin/src/lib/deesse.ts +5 -0
  55. package/templates/without-admin/src/lib/utils.ts +6 -0
  56. package/templates/without-admin/tsconfig.json +35 -0
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "radix-nova",
4
+ "rsc": true,
5
+ "tsx": true,
6
+ "tailwind": {
7
+ "config": "",
8
+ "css": "src/app/globals.css",
9
+ "baseColor": "neutral",
10
+ "cssVariables": true,
11
+ "prefix": ""
12
+ },
13
+ "iconLibrary": "lucide",
14
+ "rtl": false,
15
+ "aliases": {
16
+ "components": "@/components",
17
+ "utils": "@/lib/utils",
18
+ "ui": "@/components/ui",
19
+ "lib": "@/lib",
20
+ "hooks": "@/hooks"
21
+ },
22
+ "menuColor": "default",
23
+ "menuAccent": "subtle",
24
+ "registries": {}
25
+ }
@@ -0,0 +1,58 @@
1
+ CREATE TABLE "account" (
2
+ "id" text PRIMARY KEY NOT NULL,
3
+ "account_id" text NOT NULL,
4
+ "provider_id" text NOT NULL,
5
+ "user_id" text NOT NULL,
6
+ "access_token" text,
7
+ "refresh_token" text,
8
+ "id_token" text,
9
+ "access_token_expires_at" timestamp,
10
+ "refresh_token_expires_at" timestamp,
11
+ "scope" text,
12
+ "password" text,
13
+ "created_at" timestamp DEFAULT now() NOT NULL,
14
+ "updated_at" timestamp NOT NULL
15
+ );
16
+ --> statement-breakpoint
17
+ CREATE TABLE "session" (
18
+ "id" text PRIMARY KEY NOT NULL,
19
+ "expires_at" timestamp NOT NULL,
20
+ "token" text NOT NULL,
21
+ "created_at" timestamp DEFAULT now() NOT NULL,
22
+ "updated_at" timestamp NOT NULL,
23
+ "ip_address" text,
24
+ "user_agent" text,
25
+ "user_id" text NOT NULL,
26
+ "impersonated_by" text,
27
+ CONSTRAINT "session_token_unique" UNIQUE("token")
28
+ );
29
+ --> statement-breakpoint
30
+ CREATE TABLE "user" (
31
+ "id" text PRIMARY KEY NOT NULL,
32
+ "name" text NOT NULL,
33
+ "email" text NOT NULL,
34
+ "email_verified" boolean DEFAULT false NOT NULL,
35
+ "image" text,
36
+ "created_at" timestamp DEFAULT now() NOT NULL,
37
+ "updated_at" timestamp DEFAULT now() NOT NULL,
38
+ "role" text,
39
+ "banned" boolean DEFAULT false,
40
+ "ban_reason" text,
41
+ "ban_expires" timestamp,
42
+ CONSTRAINT "user_email_unique" UNIQUE("email")
43
+ );
44
+ --> statement-breakpoint
45
+ CREATE TABLE "verification" (
46
+ "id" text PRIMARY KEY NOT NULL,
47
+ "identifier" text NOT NULL,
48
+ "value" text NOT NULL,
49
+ "expires_at" timestamp NOT NULL,
50
+ "created_at" timestamp DEFAULT now() NOT NULL,
51
+ "updated_at" timestamp DEFAULT now() NOT NULL
52
+ );
53
+ --> statement-breakpoint
54
+ ALTER TABLE "account" ADD CONSTRAINT "account_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
55
+ ALTER TABLE "session" ADD CONSTRAINT "session_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
56
+ CREATE INDEX "account_userId_idx" ON "account" USING btree ("user_id");--> statement-breakpoint
57
+ CREATE INDEX "session_userId_idx" ON "session" USING btree ("user_id");--> statement-breakpoint
58
+ CREATE INDEX "verification_identifier_idx" ON "verification" USING btree ("identifier");
@@ -0,0 +1,405 @@
1
+ {
2
+ "id": "124e1021-5753-4d97-9f7a-e26d7ecbacbb",
3
+ "prevId": "00000000-0000-0000-0000-000000000000",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.account": {
8
+ "name": "account",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "text",
14
+ "primaryKey": true,
15
+ "notNull": true
16
+ },
17
+ "account_id": {
18
+ "name": "account_id",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "provider_id": {
24
+ "name": "provider_id",
25
+ "type": "text",
26
+ "primaryKey": false,
27
+ "notNull": true
28
+ },
29
+ "user_id": {
30
+ "name": "user_id",
31
+ "type": "text",
32
+ "primaryKey": false,
33
+ "notNull": true
34
+ },
35
+ "access_token": {
36
+ "name": "access_token",
37
+ "type": "text",
38
+ "primaryKey": false,
39
+ "notNull": false
40
+ },
41
+ "refresh_token": {
42
+ "name": "refresh_token",
43
+ "type": "text",
44
+ "primaryKey": false,
45
+ "notNull": false
46
+ },
47
+ "id_token": {
48
+ "name": "id_token",
49
+ "type": "text",
50
+ "primaryKey": false,
51
+ "notNull": false
52
+ },
53
+ "access_token_expires_at": {
54
+ "name": "access_token_expires_at",
55
+ "type": "timestamp",
56
+ "primaryKey": false,
57
+ "notNull": false
58
+ },
59
+ "refresh_token_expires_at": {
60
+ "name": "refresh_token_expires_at",
61
+ "type": "timestamp",
62
+ "primaryKey": false,
63
+ "notNull": false
64
+ },
65
+ "scope": {
66
+ "name": "scope",
67
+ "type": "text",
68
+ "primaryKey": false,
69
+ "notNull": false
70
+ },
71
+ "password": {
72
+ "name": "password",
73
+ "type": "text",
74
+ "primaryKey": false,
75
+ "notNull": false
76
+ },
77
+ "created_at": {
78
+ "name": "created_at",
79
+ "type": "timestamp",
80
+ "primaryKey": false,
81
+ "notNull": true,
82
+ "default": "now()"
83
+ },
84
+ "updated_at": {
85
+ "name": "updated_at",
86
+ "type": "timestamp",
87
+ "primaryKey": false,
88
+ "notNull": true
89
+ }
90
+ },
91
+ "indexes": {
92
+ "account_userId_idx": {
93
+ "name": "account_userId_idx",
94
+ "columns": [
95
+ {
96
+ "expression": "user_id",
97
+ "isExpression": false,
98
+ "asc": true,
99
+ "nulls": "last"
100
+ }
101
+ ],
102
+ "isUnique": false,
103
+ "concurrently": false,
104
+ "method": "btree",
105
+ "with": {}
106
+ }
107
+ },
108
+ "foreignKeys": {
109
+ "account_user_id_user_id_fk": {
110
+ "name": "account_user_id_user_id_fk",
111
+ "tableFrom": "account",
112
+ "tableTo": "user",
113
+ "columnsFrom": [
114
+ "user_id"
115
+ ],
116
+ "columnsTo": [
117
+ "id"
118
+ ],
119
+ "onDelete": "cascade",
120
+ "onUpdate": "no action"
121
+ }
122
+ },
123
+ "compositePrimaryKeys": {},
124
+ "uniqueConstraints": {},
125
+ "policies": {},
126
+ "checkConstraints": {},
127
+ "isRLSEnabled": false
128
+ },
129
+ "public.session": {
130
+ "name": "session",
131
+ "schema": "",
132
+ "columns": {
133
+ "id": {
134
+ "name": "id",
135
+ "type": "text",
136
+ "primaryKey": true,
137
+ "notNull": true
138
+ },
139
+ "expires_at": {
140
+ "name": "expires_at",
141
+ "type": "timestamp",
142
+ "primaryKey": false,
143
+ "notNull": true
144
+ },
145
+ "token": {
146
+ "name": "token",
147
+ "type": "text",
148
+ "primaryKey": false,
149
+ "notNull": true
150
+ },
151
+ "created_at": {
152
+ "name": "created_at",
153
+ "type": "timestamp",
154
+ "primaryKey": false,
155
+ "notNull": true,
156
+ "default": "now()"
157
+ },
158
+ "updated_at": {
159
+ "name": "updated_at",
160
+ "type": "timestamp",
161
+ "primaryKey": false,
162
+ "notNull": true
163
+ },
164
+ "ip_address": {
165
+ "name": "ip_address",
166
+ "type": "text",
167
+ "primaryKey": false,
168
+ "notNull": false
169
+ },
170
+ "user_agent": {
171
+ "name": "user_agent",
172
+ "type": "text",
173
+ "primaryKey": false,
174
+ "notNull": false
175
+ },
176
+ "user_id": {
177
+ "name": "user_id",
178
+ "type": "text",
179
+ "primaryKey": false,
180
+ "notNull": true
181
+ },
182
+ "impersonated_by": {
183
+ "name": "impersonated_by",
184
+ "type": "text",
185
+ "primaryKey": false,
186
+ "notNull": false
187
+ }
188
+ },
189
+ "indexes": {
190
+ "session_userId_idx": {
191
+ "name": "session_userId_idx",
192
+ "columns": [
193
+ {
194
+ "expression": "user_id",
195
+ "isExpression": false,
196
+ "asc": true,
197
+ "nulls": "last"
198
+ }
199
+ ],
200
+ "isUnique": false,
201
+ "concurrently": false,
202
+ "method": "btree",
203
+ "with": {}
204
+ }
205
+ },
206
+ "foreignKeys": {
207
+ "session_user_id_user_id_fk": {
208
+ "name": "session_user_id_user_id_fk",
209
+ "tableFrom": "session",
210
+ "tableTo": "user",
211
+ "columnsFrom": [
212
+ "user_id"
213
+ ],
214
+ "columnsTo": [
215
+ "id"
216
+ ],
217
+ "onDelete": "cascade",
218
+ "onUpdate": "no action"
219
+ }
220
+ },
221
+ "compositePrimaryKeys": {},
222
+ "uniqueConstraints": {
223
+ "session_token_unique": {
224
+ "name": "session_token_unique",
225
+ "nullsNotDistinct": false,
226
+ "columns": [
227
+ "token"
228
+ ]
229
+ }
230
+ },
231
+ "policies": {},
232
+ "checkConstraints": {},
233
+ "isRLSEnabled": false
234
+ },
235
+ "public.user": {
236
+ "name": "user",
237
+ "schema": "",
238
+ "columns": {
239
+ "id": {
240
+ "name": "id",
241
+ "type": "text",
242
+ "primaryKey": true,
243
+ "notNull": true
244
+ },
245
+ "name": {
246
+ "name": "name",
247
+ "type": "text",
248
+ "primaryKey": false,
249
+ "notNull": true
250
+ },
251
+ "email": {
252
+ "name": "email",
253
+ "type": "text",
254
+ "primaryKey": false,
255
+ "notNull": true
256
+ },
257
+ "email_verified": {
258
+ "name": "email_verified",
259
+ "type": "boolean",
260
+ "primaryKey": false,
261
+ "notNull": true,
262
+ "default": false
263
+ },
264
+ "image": {
265
+ "name": "image",
266
+ "type": "text",
267
+ "primaryKey": false,
268
+ "notNull": false
269
+ },
270
+ "created_at": {
271
+ "name": "created_at",
272
+ "type": "timestamp",
273
+ "primaryKey": false,
274
+ "notNull": true,
275
+ "default": "now()"
276
+ },
277
+ "updated_at": {
278
+ "name": "updated_at",
279
+ "type": "timestamp",
280
+ "primaryKey": false,
281
+ "notNull": true,
282
+ "default": "now()"
283
+ },
284
+ "role": {
285
+ "name": "role",
286
+ "type": "text",
287
+ "primaryKey": false,
288
+ "notNull": false
289
+ },
290
+ "banned": {
291
+ "name": "banned",
292
+ "type": "boolean",
293
+ "primaryKey": false,
294
+ "notNull": false,
295
+ "default": false
296
+ },
297
+ "ban_reason": {
298
+ "name": "ban_reason",
299
+ "type": "text",
300
+ "primaryKey": false,
301
+ "notNull": false
302
+ },
303
+ "ban_expires": {
304
+ "name": "ban_expires",
305
+ "type": "timestamp",
306
+ "primaryKey": false,
307
+ "notNull": false
308
+ }
309
+ },
310
+ "indexes": {},
311
+ "foreignKeys": {},
312
+ "compositePrimaryKeys": {},
313
+ "uniqueConstraints": {
314
+ "user_email_unique": {
315
+ "name": "user_email_unique",
316
+ "nullsNotDistinct": false,
317
+ "columns": [
318
+ "email"
319
+ ]
320
+ }
321
+ },
322
+ "policies": {},
323
+ "checkConstraints": {},
324
+ "isRLSEnabled": false
325
+ },
326
+ "public.verification": {
327
+ "name": "verification",
328
+ "schema": "",
329
+ "columns": {
330
+ "id": {
331
+ "name": "id",
332
+ "type": "text",
333
+ "primaryKey": true,
334
+ "notNull": true
335
+ },
336
+ "identifier": {
337
+ "name": "identifier",
338
+ "type": "text",
339
+ "primaryKey": false,
340
+ "notNull": true
341
+ },
342
+ "value": {
343
+ "name": "value",
344
+ "type": "text",
345
+ "primaryKey": false,
346
+ "notNull": true
347
+ },
348
+ "expires_at": {
349
+ "name": "expires_at",
350
+ "type": "timestamp",
351
+ "primaryKey": false,
352
+ "notNull": true
353
+ },
354
+ "created_at": {
355
+ "name": "created_at",
356
+ "type": "timestamp",
357
+ "primaryKey": false,
358
+ "notNull": true,
359
+ "default": "now()"
360
+ },
361
+ "updated_at": {
362
+ "name": "updated_at",
363
+ "type": "timestamp",
364
+ "primaryKey": false,
365
+ "notNull": true,
366
+ "default": "now()"
367
+ }
368
+ },
369
+ "indexes": {
370
+ "verification_identifier_idx": {
371
+ "name": "verification_identifier_idx",
372
+ "columns": [
373
+ {
374
+ "expression": "identifier",
375
+ "isExpression": false,
376
+ "asc": true,
377
+ "nulls": "last"
378
+ }
379
+ ],
380
+ "isUnique": false,
381
+ "concurrently": false,
382
+ "method": "btree",
383
+ "with": {}
384
+ }
385
+ },
386
+ "foreignKeys": {},
387
+ "compositePrimaryKeys": {},
388
+ "uniqueConstraints": {},
389
+ "policies": {},
390
+ "checkConstraints": {},
391
+ "isRLSEnabled": false
392
+ }
393
+ },
394
+ "enums": {},
395
+ "schemas": {},
396
+ "sequences": {},
397
+ "roles": {},
398
+ "policies": {},
399
+ "views": {},
400
+ "_meta": {
401
+ "columns": {},
402
+ "schemas": {},
403
+ "tables": {}
404
+ }
405
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "postgresql",
4
+ "entries": [
5
+ {
6
+ "idx": 0,
7
+ "version": "7",
8
+ "when": 1775821182964,
9
+ "tag": "0000_cheerful_clea",
10
+ "breakpoints": true
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,11 @@
1
+ import 'dotenv/config';
2
+ import { defineConfig } from 'drizzle-kit';
3
+
4
+ export default defineConfig({
5
+ out: './drizzle',
6
+ schema: './src/db/schema',
7
+ dialect: 'postgresql',
8
+ dbCredentials: {
9
+ url: process.env.DATABASE_URL!,
10
+ },
11
+ });
@@ -0,0 +1,18 @@
1
+ import { defineConfig, globalIgnores } from "eslint/config";
2
+ import nextVitals from "eslint-config-next/core-web-vitals";
3
+ import nextTs from "eslint-config-next/typescript";
4
+
5
+ const eslintConfig = defineConfig([
6
+ ...nextVitals,
7
+ ...nextTs,
8
+ // Override default ignores of eslint-config-next.
9
+ globalIgnores([
10
+ // Default ignores of eslint-config-next:
11
+ ".next/**",
12
+ "out/**",
13
+ "build/**",
14
+ "next-env.d.ts",
15
+ ]),
16
+ ]);
17
+
18
+ export default eslintConfig;
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "without-admin",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "scripts": {
6
+ "dev": "next dev",
7
+ "build": "next build",
8
+ "start": "next start",
9
+ "lint": "eslint"
10
+ },
11
+ "dependencies": {
12
+ "@base-ui/react": "^1.3.0",
13
+ "better-auth": "^1.0.0",
14
+ "class-variance-authority": "^0.7.1",
15
+ "clsx": "^2.1.1",
16
+ "cmdk": "^1.1.1",
17
+ "date-fns": "^4.1.0",
18
+ "deesse": "workspace:*",
19
+ "drizzle-orm": "^0.38.0",
20
+ "embla-carousel-react": "^8.6.0",
21
+ "input-otp": "^1.4.2",
22
+ "lucide-react": "^1.6.0",
23
+ "next": "16.2.1",
24
+ "next-themes": "^0.4.6",
25
+ "pg": "^8.13.0",
26
+ "radix-ui": "^1.4.3",
27
+ "react": "19.2.4",
28
+ "react-day-picker": "^9.14.0",
29
+ "react-dom": "19.2.4",
30
+ "react-resizable-panels": "^4.7.6",
31
+ "recharts": "3.8.0",
32
+ "shadcn": "^4.1.0",
33
+ "sonner": "^2.0.7",
34
+ "tailwind-merge": "^3.5.0",
35
+ "tw-animate-css": "^1.4.0",
36
+ "vaul": "^1.1.2"
37
+ },
38
+ "devDependencies": {
39
+ "@tailwindcss/postcss": "^4",
40
+ "@types/node": "^20",
41
+ "@types/pg": "^8.11.0",
42
+ "@types/react": "^19",
43
+ "@types/react-dom": "^19",
44
+ "drizzle-kit": "^0.30.0",
45
+ "eslint": "^9",
46
+ "eslint-config-next": "16.2.1",
47
+ "tailwindcss": "^4",
48
+ "typescript": "^5"
49
+ }
50
+ }
@@ -0,0 +1,7 @@
1
+ const config = {
2
+ plugins: {
3
+ "@tailwindcss/postcss": {},
4
+ },
5
+ };
6
+
7
+ export default config;
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/><line x1="16" x2="8" y1="13" y2="13"/><line x1="16" x2="8" y1="17" y2="17"/><line x1="10" x2="8" y1="9" y2="9"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"/><circle cx="12" cy="12" r="3"/></svg>
@@ -0,0 +1,50 @@
1
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
2
+ width="100%" viewBox="0 0 400 400" enable-background="new 0 0 400 400" xml:space="preserve">
3
+ <path fill="#FBFBFB" opacity="1.000000" stroke="none"
4
+ d="
5
+ M244.048981,112.993195
6
+ C243.954102,124.816582 243.610443,136.644394 243.820374,148.462372
7
+ C244.168961,168.084747 239.035538,185.948502 226.956192,201.459137
8
+ C218.953018,211.735733 210.224243,221.444229 201.956680,231.518982
9
+ C196.079575,238.680786 190.435135,246.033356 184.677475,253.293350
10
+ C172.318451,268.877167 162.672943,285.953857 157.202545,305.128418
11
+ C155.298706,311.801636 154.655365,318.834473 153.392334,325.950989
12
+ C153.401367,325.944122 153.146179,326.307373 152.892715,326.306152
13
+ C134.585632,326.218964 116.265434,326.464935 97.978798,325.795715
14
+ C91.440399,325.556458 85.908882,320.983948 82.945442,315.382538
15
+ C80.009277,309.832611 77.396233,303.285461 77.355705,297.157745
16
+ C76.952293,236.172745 76.807610,175.181564 77.298378,114.197830
17
+ C77.444130,96.086456 88.354301,85.694115 105.124199,85.402382
18
+ C145.603302,84.698196 186.103012,85.177856 226.594406,85.191780
19
+ C226.908051,85.191887 227.221619,85.353386 228.346146,85.662270
20
+ C226.920395,93.167320 225.573746,100.758461 223.999939,108.302216
21
+ C223.336090,111.484184 220.669342,111.356430 218.060150,111.353218
22
+ C182.901306,111.309959 147.742416,111.332352 112.583542,111.312515
23
+ C104.021843,111.307678 104.008644,111.264519 104.006310,119.923355
24
+ C103.990631,178.078308 103.978943,236.233261 103.972267,294.388214
25
+ C103.971504,301.032928 104.057365,301.103394 110.680481,301.104340
26
+ C123.978027,301.106232 137.275574,301.104889 151.112381,301.104889
27
+ C151.112381,292.002258 150.893784,283.222290 151.165039,274.457458
28
+ C151.545609,262.160675 151.974960,249.849533 152.970932,237.592255
29
+ C153.910156,226.033386 159.675659,216.262360 165.996140,206.862473
30
+ C175.710541,192.415085 187.708206,179.892578 199.254807,166.952209
31
+ C207.484436,157.729233 215.125336,147.879288 222.134048,137.693375
32
+ C231.617706,123.910545 238.212769,108.769485 239.819992,91.816750
33
+ C240.022095,89.684921 240.619827,87.590599 241.073532,85.278717
34
+ C260.020203,85.278717 278.910370,84.165764 297.602203,85.613609
35
+ C314.001709,86.883896 323.338013,96.214424 323.522003,114.675652
36
+ C324.128143,175.490585 323.924011,236.315613 323.671570,297.135284
37
+ C323.624512,308.467682 319.067963,318.432678 308.421509,323.864349
38
+ C304.489777,325.870270 299.474518,326.463470 294.948303,326.482452
39
+ C252.457870,326.660797 209.966354,326.575287 167.475143,326.554657
40
+ C167.158066,326.554504 166.841049,326.396210 165.272491,325.978363
41
+ C167.167358,318.413177 168.878952,310.751251 171.179001,303.270264
42
+ C171.532974,302.119049 174.592148,301.191620 176.403397,301.186005
43
+ C214.062149,301.069031 251.721390,301.100220 289.380524,301.102417
44
+ C296.875092,301.102844 296.926056,301.056915 296.926117,293.629852
45
+ C296.926575,235.141586 296.926331,176.653320 296.923096,118.165054
46
+ C296.922760,112.077141 296.525177,111.580154 290.435516,111.542068
47
+ C275.606995,111.449310 260.777893,111.457680 245.138916,111.531952
48
+ C244.235550,112.090118 244.142258,112.541656 244.048981,112.993195
49
+ z"/>
50
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M3 9h18"/><path d="M9 21V9"/></svg>
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 1,
3
+ "skills": {
4
+ "shadcn": {
5
+ "source": "shadcn/ui",
6
+ "sourceType": "github",
7
+ "computedHash": "77faba608ea949351d1757e29e6cb726f6ec5937f7595be0593038a7d2d76bb9"
8
+ }
9
+ }
10
+ }