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,46 @@
import HTMLInputElement from './HTMLInputElement.js';
/**
* HTML input element value sanitizer.
*/
export default class HTMLInputElementValueSanitizer {
/**
* Sanitizes a value.
*
* @param input Input.
* @param value Value.
*/
static sanitize(input: HTMLInputElement, value: string): string;
/**
* Checks if a value is within the boundaries of min and max.
*
* @param value
* @param min
* @param max
*/
private static checkBoundaries;
/**
* Parses the month component of a date string.
*
* @param value
*/
private static parseMonthComponent;
/**
* Returns the last ISO week of a year.
*
* @param year
*/
private static lastIsoWeekOfYear;
/**
* Sanitizes a date string.
*
* @param value
*/
private static sanitizeDate;
/**
* Sanitizes a time string.
*
* @param value
*/
private static sanitizeTime;
}
//# sourceMappingURL=HTMLInputElementValueSanitizer.d.ts.map