From 1eb17a0ac516a4521bc432d96b32a1b6fa93d6ec Mon Sep 17 00:00:00 2001 From: Anirudh <70373803+techwithanirudh@users.noreply.github.com> Date: Tue, 7 Jan 2025 04:01:45 +0000 Subject: [PATCH] fix: frontend monaco theme fix: drizzle migrations folder --- .gitignore | 1 - .../database/drizzle/0000_sudden_wallop.sql | 46 +++ .../database/drizzle/0001_dusty_komodo.sql | 3 + .../database/drizzle/meta/0000_snapshot.json | 75 +++- .../database/drizzle/meta/0001_snapshot.json | 353 ++++++++++++++++++ backend/database/drizzle/meta/_journal.json | 11 +- frontend/components/editor/index.tsx | 2 +- frontend/package-lock.json | 13 +- frontend/package.json | 2 +- 9 files changed, 494 insertions(+), 12 deletions(-) create mode 100644 backend/database/drizzle/0000_sudden_wallop.sql create mode 100644 backend/database/drizzle/0001_dusty_komodo.sql create mode 100644 backend/database/drizzle/meta/0001_snapshot.json diff --git a/.gitignore b/.gitignore index e363260..d94d3b8 100644 --- a/.gitignore +++ b/.gitignore @@ -40,7 +40,6 @@ wrangler.toml dist backend/server/projects -backend/database/drizzle app.yaml ingressController.yaml \ No newline at end of file diff --git a/backend/database/drizzle/0000_sudden_wallop.sql b/backend/database/drizzle/0000_sudden_wallop.sql new file mode 100644 index 0000000..1b1b3be --- /dev/null +++ b/backend/database/drizzle/0000_sudden_wallop.sql @@ -0,0 +1,46 @@ +CREATE TABLE `sandbox` ( + `id` text PRIMARY KEY NOT NULL, + `name` text NOT NULL, + `type` text NOT NULL, + `visibility` text, + `createdAt` integer DEFAULT CURRENT_TIMESTAMP, + `user_id` text NOT NULL, + `likeCount` integer DEFAULT 0, + `viewCount` integer DEFAULT 0, + FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE no action +); +--> statement-breakpoint +CREATE TABLE `sandbox_likes` ( + `user_id` text NOT NULL, + `sandbox_id` text NOT NULL, + `createdAt` integer DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY(`sandbox_id`, `user_id`), + FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE no action, + FOREIGN KEY (`sandbox_id`) REFERENCES `sandbox`(`id`) ON UPDATE no action ON DELETE no action +); +--> statement-breakpoint +CREATE TABLE `user` ( + `id` text PRIMARY KEY NOT NULL, + `name` text NOT NULL, + `email` text NOT NULL, + `username` text NOT NULL, + `avatarUrl` text, + `githubToken` text, + `createdAt` integer DEFAULT CURRENT_TIMESTAMP, + `generations` integer DEFAULT 0, + `tier` text DEFAULT 'FREE', + `tierExpiresAt` integer, + `lastResetDate` integer +); +--> statement-breakpoint +CREATE TABLE `users_to_sandboxes` ( + `userId` text NOT NULL, + `sandboxId` text NOT NULL, + `sharedOn` integer, + FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE no action, + FOREIGN KEY (`sandboxId`) REFERENCES `sandbox`(`id`) ON UPDATE no action ON DELETE no action +); +--> statement-breakpoint +CREATE UNIQUE INDEX `sandbox_id_unique` ON `sandbox` (`id`);--> statement-breakpoint +CREATE UNIQUE INDEX `user_id_unique` ON `user` (`id`);--> statement-breakpoint +CREATE UNIQUE INDEX `user_username_unique` ON `user` (`username`); \ No newline at end of file diff --git a/backend/database/drizzle/0001_dusty_komodo.sql b/backend/database/drizzle/0001_dusty_komodo.sql new file mode 100644 index 0000000..964072e --- /dev/null +++ b/backend/database/drizzle/0001_dusty_komodo.sql @@ -0,0 +1,3 @@ +ALTER TABLE user ADD `bio` text;--> statement-breakpoint +ALTER TABLE user ADD `personalWebsite` text;--> statement-breakpoint +ALTER TABLE user ADD `links` text DEFAULT '[]'; \ No newline at end of file diff --git a/backend/database/drizzle/meta/0000_snapshot.json b/backend/database/drizzle/meta/0000_snapshot.json index 775f00c..07ea89c 100644 --- a/backend/database/drizzle/meta/0000_snapshot.json +++ b/backend/database/drizzle/meta/0000_snapshot.json @@ -1,7 +1,7 @@ { "version": "5", "dialect": "sqlite", - "id": "1288b006-6410-4b1c-8c96-d9797878a116", + "id": "4ada398d-7e4e-448f-8cea-a10b4d844600", "prevId": "00000000-0000-0000-0000-000000000000", "tables": { "sandbox": { @@ -94,6 +94,72 @@ "compositePrimaryKeys": {}, "uniqueConstraints": {} }, + "sandbox_likes": { + "name": "sandbox_likes", + "columns": { + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "sandbox_id": { + "name": "sandbox_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "createdAt": { + "name": "createdAt", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP" + } + }, + "indexes": {}, + "foreignKeys": { + "sandbox_likes_user_id_user_id_fk": { + "name": "sandbox_likes_user_id_user_id_fk", + "tableFrom": "sandbox_likes", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "sandbox_likes_sandbox_id_sandbox_id_fk": { + "name": "sandbox_likes_sandbox_id_sandbox_id_fk", + "tableFrom": "sandbox_likes", + "tableTo": "sandbox", + "columnsFrom": [ + "sandbox_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "sandbox_likes_sandbox_id_user_id_pk": { + "columns": [ + "sandbox_id", + "user_id" + ], + "name": "sandbox_likes_sandbox_id_user_id_pk" + } + }, + "uniqueConstraints": {} + }, "user": { "name": "user", "columns": { @@ -132,6 +198,13 @@ "notNull": false, "autoincrement": false }, + "githubToken": { + "name": "githubToken", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "createdAt": { "name": "createdAt", "type": "integer", diff --git a/backend/database/drizzle/meta/0001_snapshot.json b/backend/database/drizzle/meta/0001_snapshot.json new file mode 100644 index 0000000..b765b17 --- /dev/null +++ b/backend/database/drizzle/meta/0001_snapshot.json @@ -0,0 +1,353 @@ +{ + "version": "5", + "dialect": "sqlite", + "id": "80c0b0b2-bb0e-449a-b447-c21863686f58", + "prevId": "4ada398d-7e4e-448f-8cea-a10b4d844600", + "tables": { + "sandbox": { + "name": "sandbox", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "visibility": { + "name": "visibility", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "createdAt": { + "name": "createdAt", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP" + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "likeCount": { + "name": "likeCount", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": 0 + }, + "viewCount": { + "name": "viewCount", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": 0 + } + }, + "indexes": { + "sandbox_id_unique": { + "name": "sandbox_id_unique", + "columns": [ + "id" + ], + "isUnique": true + } + }, + "foreignKeys": { + "sandbox_user_id_user_id_fk": { + "name": "sandbox_user_id_user_id_fk", + "tableFrom": "sandbox", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "sandbox_likes": { + "name": "sandbox_likes", + "columns": { + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "sandbox_id": { + "name": "sandbox_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "createdAt": { + "name": "createdAt", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP" + } + }, + "indexes": {}, + "foreignKeys": { + "sandbox_likes_user_id_user_id_fk": { + "name": "sandbox_likes_user_id_user_id_fk", + "tableFrom": "sandbox_likes", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "sandbox_likes_sandbox_id_sandbox_id_fk": { + "name": "sandbox_likes_sandbox_id_sandbox_id_fk", + "tableFrom": "sandbox_likes", + "tableTo": "sandbox", + "columnsFrom": [ + "sandbox_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "sandbox_likes_sandbox_id_user_id_pk": { + "columns": [ + "sandbox_id", + "user_id" + ], + "name": "sandbox_likes_sandbox_id_user_id_pk" + } + }, + "uniqueConstraints": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "avatarUrl": { + "name": "avatarUrl", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "githubToken": { + "name": "githubToken", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "createdAt": { + "name": "createdAt", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP" + }, + "generations": { + "name": "generations", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": 0 + }, + "bio": { + "name": "bio", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "personalWebsite": { + "name": "personalWebsite", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "links": { + "name": "links", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "'[]'" + }, + "tier": { + "name": "tier", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "'FREE'" + }, + "tierExpiresAt": { + "name": "tierExpiresAt", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "lastResetDate": { + "name": "lastResetDate", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "user_id_unique": { + "name": "user_id_unique", + "columns": [ + "id" + ], + "isUnique": true + }, + "user_username_unique": { + "name": "user_username_unique", + "columns": [ + "username" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "users_to_sandboxes": { + "name": "users_to_sandboxes", + "columns": { + "userId": { + "name": "userId", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "sandboxId": { + "name": "sandboxId", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "sharedOn": { + "name": "sharedOn", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "users_to_sandboxes_userId_user_id_fk": { + "name": "users_to_sandboxes_userId_user_id_fk", + "tableFrom": "users_to_sandboxes", + "tableTo": "user", + "columnsFrom": [ + "userId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "users_to_sandboxes_sandboxId_sandbox_id_fk": { + "name": "users_to_sandboxes_sandboxId_sandbox_id_fk", + "tableFrom": "users_to_sandboxes", + "tableTo": "sandbox", + "columnsFrom": [ + "sandboxId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + } + }, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + } + } \ No newline at end of file diff --git a/backend/database/drizzle/meta/_journal.json b/backend/database/drizzle/meta/_journal.json index a26196c..73e352c 100644 --- a/backend/database/drizzle/meta/_journal.json +++ b/backend/database/drizzle/meta/_journal.json @@ -5,8 +5,15 @@ { "idx": 0, "version": "5", - "when": 1732568535771, - "tag": "0000_rapid_korath", + "when": 1736155854410, + "tag": "0000_sudden_wallop", + "breakpoints": true + }, + { + "idx": 1, + "version": "5", + "when": 1736169498666, + "tag": "0001_dusty_komodo", "breakpoints": true } ] diff --git a/frontend/components/editor/index.tsx b/frontend/components/editor/index.tsx index 6d18fc3..2460de4 100644 --- a/frontend/components/editor/index.tsx +++ b/frontend/components/editor/index.tsx @@ -62,7 +62,7 @@ export default function CodeEditor({ //SocketContext functions and effects const { socket, setUserAndSandboxId } = useSocket() // theme - const { theme } = useTheme() + const { resolvedTheme: theme } = useTheme() useEffect(() => { // Ensure userData.id and sandboxData.id are available before attempting to connect if (userData.id && sandboxData.id) { diff --git a/frontend/package-lock.json b/frontend/package-lock.json index f09c4ee..7eaeeb5 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -53,7 +53,7 @@ "lucide-react": "^0.365.0", "monaco-themes": "^0.4.4", "next": "14.1.3", - "next-themes": "^0.3.0", + "next-themes": "^0.4.4", "openai": "^4.73.1", "posthog-js": "^1.147.0", "react": "^18.3.1", @@ -7420,12 +7420,13 @@ } }, "node_modules/next-themes": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.3.0.tgz", - "integrity": "sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.4.tgz", + "integrity": "sha512-LDQ2qIOJF0VnuVrrMSMLrWGjRMkq+0mpgl6e0juCLqdJ+oo8Q84JRWT6Wh11VDQKkMMe+dVzDKLWs5n87T+PkQ==", + "license": "MIT", "peerDependencies": { - "react": "^16.8 || ^17 || ^18", - "react-dom": "^16.8 || ^17 || ^18" + "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, "node_modules/next/node_modules/postcss": { diff --git a/frontend/package.json b/frontend/package.json index 9f8a238..7dbe359 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -54,7 +54,7 @@ "lucide-react": "^0.365.0", "monaco-themes": "^0.4.4", "next": "14.1.3", - "next-themes": "^0.3.0", + "next-themes": "^0.4.4", "openai": "^4.73.1", "posthog-js": "^1.147.0", "react": "^18.3.1",