feat: Reinitialize frontend with SvelteKit and TypeScript

- Delete old Vite+Svelte frontend
- Initialize new SvelteKit project with TypeScript
- Configure Tailwind CSS v4 + DaisyUI
- Implement JWT authentication with auto-refresh
- Create login page with form validation (Zod)
- Add protected route guards
- Update Docker configuration for single-stage build
- Add E2E tests with Playwright (6/11 passing)
- Fix Svelte 5 reactivity with $state() runes

Known issues:
- 5 E2E tests failing (timing/async issues)
- Token refresh implementation needs debugging
- Validation error display timing
This commit is contained in:
2026-02-17 16:19:59 -05:00
parent 54df6018f5
commit de2d83092e
28274 changed files with 3816354 additions and 90 deletions

View File

@@ -0,0 +1,7 @@
import rootscrollgutter from './object.js';
import { addPrefix } from '../../functions/addPrefix.js';
export default ({ addBase, prefix = '' }) => {
const prefixedrootscrollgutter = addPrefix(rootscrollgutter, prefix);
addBase({ ...prefixedrootscrollgutter });
};

View File

@@ -0,0 +1 @@
export default {":root":{"background":"var(--page-scroll-bg, var(--root-bg))","--page-scroll-bg-on":"linear-gradient(var(--root-bg, #0000), var(--root-bg, #0000))\n color-mix(in srgb, var(--root-bg, #0000), oklch(0% 0 0) calc(var(--page-has-backdrop, 0) * 40%))","--page-scroll-transition-on":"background-color 0.3s ease-out","transition":"var(--page-scroll-transition)","scrollbar-gutter":["var(--page-scroll-gutter, unset)","if(style(--page-has-scroll: 1): var(--page-scroll-gutter, unset) ; else: unset)"]},"@keyframes set-page-has-scroll":{"0%, to":{"--page-has-scroll":"1"}}};