From d69a573a332026718736d240aba3a655ec09bf44 Mon Sep 17 00:00:00 2001 From: imbytecat Date: Sun, 8 Feb 2026 19:17:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=BA=20desktop/server=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20Tailwind=20CSS=20=E6=94=AF=E6=8C=81=E5=92=8C=20Biom?= =?UTF-8?q?e=20=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - desktop renderer 接入 @tailwindcss/vite,loading 页面改用 Tailwind 类 - 两个 app 添加 biome.json 继承配置:tailwindDirectives + useSortedClasses --- apps/desktop/biome.json | 16 +++++++++ apps/desktop/electron.vite.config.ts | 5 ++- apps/desktop/package.json | 4 ++- apps/desktop/src/renderer/index.html | 39 +++++----------------- apps/desktop/src/renderer/styles.css | 49 ++++++++++++++++++++++++++++ apps/server/biome.json | 12 +++++++ bun.lock | 2 ++ 7 files changed, 95 insertions(+), 32 deletions(-) create mode 100644 apps/desktop/biome.json create mode 100644 apps/desktop/src/renderer/styles.css diff --git a/apps/desktop/biome.json b/apps/desktop/biome.json new file mode 100644 index 0000000..948b357 --- /dev/null +++ b/apps/desktop/biome.json @@ -0,0 +1,16 @@ +{ + "$schema": "../../node_modules/@biomejs/biome/configuration_schema.json", + "extends": "//", + "css": { + "parser": { + "tailwindDirectives": true + } + }, + "linter": { + "rules": { + "nursery": { + "useSortedClasses": "warn" + } + } + } +} diff --git a/apps/desktop/electron.vite.config.ts b/apps/desktop/electron.vite.config.ts index 08b259a..dd3d2e8 100644 --- a/apps/desktop/electron.vite.config.ts +++ b/apps/desktop/electron.vite.config.ts @@ -1,7 +1,10 @@ +import tailwindcss from '@tailwindcss/vite' import { defineConfig } from 'electron-vite' export default defineConfig({ main: {}, preload: {}, - renderer: {}, + renderer: { + plugins: [tailwindcss()], + }, }) diff --git a/apps/desktop/package.json b/apps/desktop/package.json index ca68a6d..1bbc3a3 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -15,9 +15,11 @@ }, "devDependencies": { "@furtherverse/tsconfig": "workspace:*", + "@tailwindcss/vite": "catalog:", "@types/node": "catalog:", "electron": "catalog:", "electron-builder": "catalog:", - "electron-vite": "catalog:" + "electron-vite": "catalog:", + "tailwindcss": "catalog:" } } diff --git a/apps/desktop/src/renderer/index.html b/apps/desktop/src/renderer/index.html index 1717f9f..e2d4d4f 100644 --- a/apps/desktop/src/renderer/index.html +++ b/apps/desktop/src/renderer/index.html @@ -4,37 +4,16 @@ Furtherverse - + - -
-
-

Starting server…

+ +
+
+

Furtherverse

+
+
+
+
Starting
diff --git a/apps/desktop/src/renderer/styles.css b/apps/desktop/src/renderer/styles.css new file mode 100644 index 0000000..8bed890 --- /dev/null +++ b/apps/desktop/src/renderer/styles.css @@ -0,0 +1,49 @@ +@import "tailwindcss"; + +@theme { + --animate-breathe: breathe 8s ease-in-out infinite alternate; + --animate-slide: slide 1.4s cubic-bezier(0.4, 0, 0.2, 1) infinite; + --animate-appear: appear 1s ease-out 0.2s both; + --animate-pulse-subtle: pulse-subtle 3s ease-in-out infinite; +} + +@keyframes breathe { + from { + transform: scale(0.95); + opacity: 0.5; + } + to { + transform: scale(1.05); + opacity: 0.8; + } +} + +@keyframes slide { + 0% { + transform: translateX(-150%); + } + 100% { + transform: translateX(350%); + } +} + +@keyframes appear { + from { + opacity: 0; + transform: translateY(10px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +@keyframes pulse-subtle { + 0%, + 100% { + opacity: 0.5; + } + 50% { + opacity: 0.8; + } +} diff --git a/apps/server/biome.json b/apps/server/biome.json index 02b721b..6c658d2 100644 --- a/apps/server/biome.json +++ b/apps/server/biome.json @@ -3,5 +3,17 @@ "extends": "//", "files": { "includes": ["**", "!**/routeTree.gen.ts"] + }, + "css": { + "parser": { + "tailwindDirectives": true + } + }, + "linter": { + "rules": { + "nursery": { + "useSortedClasses": "warn" + } + } } } diff --git a/bun.lock b/bun.lock index 72e3f3f..e59125b 100644 --- a/bun.lock +++ b/bun.lock @@ -15,10 +15,12 @@ "version": "1.0.0", "devDependencies": { "@furtherverse/tsconfig": "workspace:*", + "@tailwindcss/vite": "catalog:", "@types/node": "catalog:", "electron": "catalog:", "electron-builder": "catalog:", "electron-vite": "catalog:", + "tailwindcss": "catalog:", }, }, "apps/server": {