Fixes: - Go server now serves index.html for all non-asset paths (SPA fallback) - Null guard on data.documents prevents undefined.length TypeError - App.vue waits for checkStatus() before rendering AppLayout (race condition) - PWA manifest no longer references missing icon files - index.html applies theme class before paint to prevent flash Features: - Theme store: dark/light toggle + 6 accent color presets + custom hex picker - ThemeToggle component in header dropdown - CSS custom properties for accent color (--accent-400/500/600/700) - Tailwind accent-* color utilities driven by CSS vars - SetupWizard: 3-step flow, password confirmation, LDAP test button, animated toggle, review step, proper error/success states - Sidebar: loading skeleton, active page highlight, null-safe document list - Global .input, .btn-primary, .btn-secondary, .card component classes - Stub GraphQL responses for setup/login/testLdapConnection Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
24 lines
700 B
JavaScript
24 lines
700 B
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
export default {
|
|
content: ['./index.html', './src/**/*.{vue,js,ts,jsx,tsx}'],
|
|
darkMode: 'class',
|
|
theme: {
|
|
extend: {
|
|
fontFamily: {
|
|
sans: ['Inter', 'ui-sans-serif', 'system-ui'],
|
|
mono: ['JetBrains Mono', 'ui-monospace', 'monospace'],
|
|
},
|
|
colors: {
|
|
// Accent color driven by CSS variables set by the theme store.
|
|
accent: {
|
|
400: 'rgb(var(--accent-400) / <alpha-value>)',
|
|
500: 'rgb(var(--accent-500) / <alpha-value>)',
|
|
600: 'rgb(var(--accent-600) / <alpha-value>)',
|
|
700: 'rgb(var(--accent-700) / <alpha-value>)',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
}
|