feat: Implement UI appearance configuration module

This commit introduces a new configuration module for UI appearance settings.
You can now customize various aspects of the application's look and feel.

Key features:
- Customizable color palette: primary, secondary, warning, and background colors.
- Font customization: font family and font size.
- Theme selection: light and dark themes.
- Animation control: toggle animations on/off.

Changes include:
- Extended `ui/src/stores/useUi.js` to manage appearance state, including actions for updates and integration with local storage for persistence.
- Created `ui/src/views/SettingsView.vue` with UI controls for all customizable settings.
- Implemented dynamic application of settings in `ui/src/App.vue` by updating CSS variables and classes on the root element.
- Enhanced `SettingsView.vue` with modern styling (TailwindCSS) and subtle animations, ensuring it's theme-aware and respects animation preferences.
- Added comprehensive unit tests for the `useUi` store and component tests for `SettingsView.vue` using Vitest and Vue Test Utils.

The settings page allows for real-time previews of changes, and all preferences are saved locally to persist across sessions.
This commit is contained in:
google-labs-jules[bot]
2025-05-30 23:17:04 +00:00
parent 4f1ec58a99
commit 56fd503642
9 changed files with 3437 additions and 14 deletions

View File

@@ -6,7 +6,8 @@
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
"preview": "vite preview",
"test": "vitest"
},
"dependencies": {
"@tailwindcss/vite": "^4.1.7",
@@ -17,9 +18,12 @@
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.2.2",
"@vue/test-utils": "^2.4.5",
"autoprefixer": "^10.4.21",
"jsdom": "^24.0.0",
"postcss": "^8.5.3",
"tailwindcss": "^4.1.7",
"vite": "^6.3.1"
"vite": "^6.3.1",
"vitest": "^1.3.0"
}
}