From 6f1d0a9150631ecb42cc6e9a77a5d5ad44ffccce Mon Sep 17 00:00:00 2001 From: eduardruzga Date: Sun, 17 Nov 2024 15:52:38 +0200 Subject: [PATCH 01/17] .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b43105b..3303fba 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ dist-ssr *.sln *.sw? +/.history /.cache /build .env.local From 8246eb3c626d1b4e9789dd344ee4389f53d57a30 Mon Sep 17 00:00:00 2001 From: eduardruzga Date: Mon, 18 Nov 2024 12:04:56 +0200 Subject: [PATCH 02/17] Add windows start command --- package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index ce8e95d..6bbb65a 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,9 @@ "test:watch": "vitest", "lint": "eslint --cache --cache-location ./node_modules/.cache/eslint .", "lint:fix": "npm run lint -- --fix", - "start": "bindings=$(./bindings.sh) && wrangler pages dev ./build/client $bindings", + "start:windows": "wrangler pages dev ./build/client", + "start:unix": "bindings=$(./bindings.sh) && wrangler pages dev ./build/client $bindings", + "start": "node -e \"const { spawn } = require('child_process'); const isWindows = process.platform === 'win32'; const cmd = isWindows ? 'npm run start:windows' : 'npm run start:unix'; const child = spawn(cmd, { shell: true, stdio: 'inherit' }); child.on('exit', code => process.exit(code));\"", "typecheck": "tsc", "dockerstart": "bindings=$(./bindings.sh) && wrangler pages dev ./build/client $bindings --ip 0.0.0.0 --port 5173 --no-show-interactive-dev-session", "dockerrun": "docker run -it -d --name bolt-ai-live -p 5173:5173 --env-file .env.local bolt-ai", "dockerbuild:prod": "docker build -t bolt-ai:production -t bolt-ai:latest --target bolt-ai-production .", From 920f3618d28d3f0ea5e907381e98846961e6b719 Mon Sep 17 00:00:00 2001 From: eduardruzga Date: Mon, 18 Nov 2024 19:12:47 +0200 Subject: [PATCH 03/17] Fix package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6bbb65a..03a5f79 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "lint:fix": "npm run lint -- --fix", "start:windows": "wrangler pages dev ./build/client", "start:unix": "bindings=$(./bindings.sh) && wrangler pages dev ./build/client $bindings", - "start": "node -e \"const { spawn } = require('child_process'); const isWindows = process.platform === 'win32'; const cmd = isWindows ? 'npm run start:windows' : 'npm run start:unix'; const child = spawn(cmd, { shell: true, stdio: 'inherit' }); child.on('exit', code => process.exit(code));\"", "typecheck": "tsc", + "start": "node -e \"const { spawn } = require('child_process'); const isWindows = process.platform === 'win32'; const cmd = isWindows ? 'npm run start:windows' : 'npm run start:unix'; const child = spawn(cmd, { shell: true, stdio: 'inherit' }); child.on('exit', code => process.exit(code));\"", "dockerstart": "bindings=$(./bindings.sh) && wrangler pages dev ./build/client $bindings --ip 0.0.0.0 --port 5173 --no-show-interactive-dev-session", "dockerrun": "docker run -it -d --name bolt-ai-live -p 5173:5173 --env-file .env.local bolt-ai", "dockerbuild:prod": "docker build -t bolt-ai:production -t bolt-ai:latest --target bolt-ai-production .", From 5f455e6cc3649acae1df90f56c07c701ee08bd02 Mon Sep 17 00:00:00 2001 From: Qwikode Date: Thu, 21 Nov 2024 23:32:53 +0200 Subject: [PATCH 04/17] fix(ui): header gradient and textarea border effect --- app/components/chat/BaseChat.module.scss | 104 ++++++++++++++++++ app/components/chat/BaseChat.tsx | 55 +++++++-- .../header/HeaderActionButtons.client.tsx | 2 +- 3 files changed, 153 insertions(+), 8 deletions(-) diff --git a/app/components/chat/BaseChat.module.scss b/app/components/chat/BaseChat.module.scss index 3d6ed4c..204a24a 100644 --- a/app/components/chat/BaseChat.module.scss +++ b/app/components/chat/BaseChat.module.scss @@ -17,3 +17,107 @@ .Chat { opacity: 1; } + +.RayContainer { + --gradient-opacity: 0.85; + --ray-gradient: radial-gradient(rgba(83, 196, 255, var(--gradient-opacity)) 0%, rgba(43, 166, 255, 0) 100%); + transition: opacity 0.25s linear; + position: fixed; + inset: 0; + pointer-events: none; + user-select: none; +} + +.LightRayOne { + width: 480px; + height: 680px; + transform: rotate(80deg); + top: -540px; + left: 250px; + filter: blur(110px); + position: absolute; + border-radius: 100%; + background: var(--ray-gradient); +} + +.LightRayTwo { + width: 110px; + height: 400px; + transform: rotate(-20deg); + top: -280px; + left: 350px; + mix-blend-mode: overlay; + opacity: 0.6; + filter: blur(60px); + position: absolute; + border-radius: 100%; + background: var(--ray-gradient); +} + +.LightRayThree { + width: 400px; + height: 370px; + top: -350px; + left: 200px; + mix-blend-mode: overlay; + opacity: 0.6; + filter: blur(21px); + position: absolute; + border-radius: 100%; + background: var(--ray-gradient); +} + +.LightRayFour { + position: absolute; + width: 330px; + height: 370px; + top: -330px; + left: 50px; + mix-blend-mode: overlay; + opacity: 0.5; + filter: blur(21px); + border-radius: 100%; + background: var(--ray-gradient); +} + +.LightRayFive { + position: absolute; + width: 110px; + height: 400px; + transform: rotate(-40deg); + top: -280px; + left: -10px; + mix-blend-mode: overlay; + opacity: 0.8; + filter: blur(60px); + border-radius: 100%; + background: var(--ray-gradient); +} + +.PromptEffectContainer { + --prompt-container-offset: 50px; + --prompt-line-stroke-width: 1px; + position: absolute; + pointer-events: none; + inset: calc(var(--prompt-container-offset) / -2); + width: calc(100% + var(--prompt-container-offset)); + height: calc(100% + var(--prompt-container-offset)); +} + +.PromptEffectLine { + width: calc(100% - var(--prompt-container-offset) + var(--prompt-line-stroke-width)); + height: calc(100% - var(--prompt-container-offset) + var(--prompt-line-stroke-width)); + x: calc(var(--prompt-container-offset) / 2 - var(--prompt-line-stroke-width) / 2); + y: calc(var(--prompt-container-offset) / 2 - var(--prompt-line-stroke-width) / 2); + rx: calc(8px - var(--prompt-line-stroke-width)); + fill: transparent; + stroke-width: var(--prompt-line-stroke-width); + stroke: url(#line-gradient); + stroke-dasharray: 35px 65px; + stroke-dashoffset: 10; +} + +.PromptShine { + fill: url(#shine-gradient); + mix-blend-mode: overlay; +} \ No newline at end of file diff --git a/app/components/chat/BaseChat.tsx b/app/components/chat/BaseChat.tsx index 396fb01..e0ccb68 100644 --- a/app/components/chat/BaseChat.tsx +++ b/app/components/chat/BaseChat.tsx @@ -160,6 +160,13 @@ export const BaseChat = React.forwardRef( )} data-chat-visible={showChat} > +
+
+
+
+
+
+
{() => }
@@ -192,12 +199,38 @@ export const BaseChat = React.forwardRef(
+ + + + + + + + + + + + + + + + + + (