Implement complete frontend with admin panel and theme system

- Add admin authentication and dashboard
- Create event management pages (list, create, edit, archive)
- Implement gallery enhancements (search, sorting, bulk download)
- Add email configuration and archive management pages
- Integrate Umami analytics with tracking throughout the app
- Add comprehensive error boundaries and loading states
- Implement accessibility features (WCAG 2.1 AA compliance)
- Create theme system with preset themes and customization
- Add branding settings and company information management
- Fix backend database initialization and health check
- Configure proper API URLs and environment variables

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-07-06 22:04:45 +02:00
parent 6c82958c79
commit 28632e8970
53 changed files with 13843 additions and 181 deletions
+27 -4
View File
@@ -6,13 +6,29 @@
@layer base {
:root {
--color-primary: 92 135 98;
/* Theme CSS Variables */
--color-primary: #5C8762;
--color-primary-light: #7aa583;
--color-primary-dark: #4a6f4f;
--color-accent: #22c55e;
--color-background: #fafafa;
--color-text: #171717;
--font-family: 'Inter', 'Noto Sans', system-ui, -apple-system, sans-serif;
--border-radius: 0.5rem;
/* Tailwind RGB values for primary color */
--tw-color-primary: 92 135 98;
--radius: 0.5rem;
}
* {
font-family: var(--font-family);
}
body {
@apply bg-neutral-50 text-neutral-900 antialiased;
background-color: var(--color-background);
color: var(--color-text);
@apply antialiased;
}
/* Custom scrollbar */
@@ -37,11 +53,18 @@
@layer components {
/* Button styles */
.btn {
@apply inline-flex items-center justify-center rounded-lg font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50;
@apply inline-flex items-center justify-center font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50;
border-radius: var(--border-radius);
}
.btn-primary {
@apply bg-primary-600 text-white hover:bg-primary-700 focus-visible:ring-primary-600;
background-color: var(--color-primary);
color: white;
@apply hover:opacity-90 focus-visible:ring-2;
}
.btn-primary:hover {
background-color: var(--color-primary-dark);
}
.btn-secondary {