feat(webui): add Tailwind build system and refactor frontend architecture

- Replace Tailwind CDN with local build (PostCSS + autoprefixer + daisyui)

- Add CSS build scripts with automatic prepare hook on npm install

- Create account-actions.js service layer with unified response format

- Extend ErrorHandler.withLoading() for automatic loading state management

- Add skeleton screens for initial load, silent refresh for subsequent updates

- Implement loading animations for async operations (buttons, modals)

- Improve empty states and add ARIA labels for accessibility

- Abstract component styles using @apply (buttons, badges, inputs)

- Add JSDoc documentation for Dashboard modules

- Update README and CLAUDE.md with development guidelines
This commit is contained in:
Wha1eChai
2026-01-11 02:11:35 +08:00
parent ee6d222e4d
commit a56bc06cc1
22 changed files with 2730 additions and 499 deletions

52
tailwind.config.js Normal file
View File

@@ -0,0 +1,52 @@
/** @type {import('tailwindcss').Config} */
export default {
content: [
"./public/**/*.{html,js}",
"./public/views/**/*.html",
"./public/js/**/*.js"
],
darkMode: 'class',
theme: {
extend: {
fontFamily: {
mono: ['"JetBrains Mono"', '"Fira Code"', 'Consolas', 'monospace'],
sans: ['Inter', 'system-ui', 'sans-serif']
},
colors: {
space: {
950: '#09090b',
900: '#0f0f11',
850: '#121214',
800: '#18181b',
border: '#27272a'
},
neon: {
purple: '#a855f7',
cyan: '#06b6d4',
green: '#22c55e',
yellow: '#eab308',
red: '#ef4444'
}
}
}
},
plugins: [
require('@tailwindcss/forms'),
require('daisyui')
],
daisyui: {
themes: [{
antigravity: {
"primary": "var(--color-neon-purple)",
"secondary": "var(--color-neon-green)",
"accent": "var(--color-neon-cyan)",
"neutral": "var(--color-space-800)",
"base-100": "var(--color-space-950)",
"info": "var(--color-neon-cyan)",
"success": "var(--color-neon-green)",
"warning": "var(--color-neon-yellow)",
"error": "var(--color-neon-red)",
}
}]
}
}