diff --git a/package-lock.json b/package-lock.json
index f2e10ca..59a4ca8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,7 +8,8 @@
"name": "it-tools",
"version": "0.0.1",
"dependencies": {
- "@tauri-apps/api": "^2.9.0"
+ "@tauri-apps/api": "^2.9.0",
+ "@tauri-apps/plugin-store": "^2.4.1"
},
"devDependencies": {
"@sveltejs/adapter-static": "^3.0.10",
@@ -866,7 +867,6 @@
"integrity": "sha512-TGFX1pZUt9qqY20Cv5NyYvy0iLWHf2jXi8s+eCGsig7jQMdwZWKUFMR6TbvFNhfDSUpc1sH/Y5EHv20g3HHA3g==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@standard-schema/spec": "^1.0.0",
"@sveltejs/acorn-typescript": "^1.0.5",
@@ -906,7 +906,6 @@
"integrity": "sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@sveltejs/vite-plugin-svelte-inspector": "^5.0.0",
"debug": "^4.4.1",
@@ -1439,6 +1438,15 @@
"node": ">= 10"
}
},
+ "node_modules/@tauri-apps/plugin-store": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-store/-/plugin-store-2.4.1.tgz",
+ "integrity": "sha512-ckGSEzZ5Ii4Hf2D5x25Oqnm2Zf9MfDWAzR+volY0z/OOBz6aucPKEY0F649JvQ0Vupku6UJo7ugpGRDOFOunkA==",
+ "license": "MIT OR Apache-2.0",
+ "dependencies": {
+ "@tauri-apps/api": "^2.8.0"
+ }
+ },
"node_modules/@types/cookie": {
"version": "0.6.0",
"resolved": "https://registry.npmmirror.com/@types/cookie/-/cookie-0.6.0.tgz",
@@ -1459,7 +1467,6 @@
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true,
"license": "MIT",
- "peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -2048,7 +2055,6 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=12"
},
@@ -2091,7 +2097,6 @@
"integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
@@ -2108,7 +2113,6 @@
"integrity": "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"peerDependencies": {
"prettier": "^3.0.0",
"svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0"
@@ -2300,7 +2304,6 @@
"integrity": "sha512-kjkAjCk41mJfvJZG56XcJNOdJSke94JxtcX8zFzzz2vrt47E0LnoBzU6azIZ1aBxJgUep8qegAkguSf1GjxLXQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@jridgewell/remapping": "^2.3.4",
"@jridgewell/sourcemap-codec": "^1.5.0",
@@ -2399,7 +2402,6 @@
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
- "peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -2414,7 +2416,6 @@
"integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.5.0",
diff --git a/package.json b/package.json
index 09f6d5e..ac87d46 100644
--- a/package.json
+++ b/package.json
@@ -30,6 +30,7 @@
"vite": "^7.1.10"
},
"dependencies": {
- "@tauri-apps/api": "^2.9.0"
+ "@tauri-apps/api": "^2.9.0",
+ "@tauri-apps/plugin-store": "^2.4.1"
}
}
diff --git a/src/app.css b/src/app.css
index 11b0f61..a0e50d7 100644
--- a/src/app.css
+++ b/src/app.css
@@ -1,9 +1,11 @@
@import 'tailwindcss';
+:root{
+ --main-bg-color: #1f1f1f;
+}
body {
background-color: #1f1f1f; /* 示例:一个深灰色 */
-
margin: 0;
color: white;
-}
\ No newline at end of file
+}
diff --git a/src/lib/components/layout/Header.svelte b/src/lib/components/layout/Header.svelte
index 204e479..bba99f8 100644
--- a/src/lib/components/layout/Header.svelte
+++ b/src/lib/components/layout/Header.svelte
@@ -41,9 +41,11 @@
align-items: center;
padding: 0 10px;
user-select: none;
- position: sticky;
+ position: fixed;
+ width: 100%;
top: 0;
z-index: 1000;
+ box-shadow: 1px 0 3px rgba(255, 255, 255, 0.1);
}
.window-controls {
diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte
new file mode 100644
index 0000000..d479105
--- /dev/null
+++ b/src/lib/components/layout/Sidebar.svelte
@@ -0,0 +1,127 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 3fbf87b..83e6227 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -2,6 +2,7 @@
import '../app.css';
import favicon from '$lib/assets/favicon.svg';
import Header from '$lib/components/layout/Header.svelte';
+ import Sidebar from '$lib/components/layout/Sidebar.svelte';
let { children } = $props();
@@ -10,5 +11,36 @@