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,40 @@
import type { BaseRoot } from "../roots/root.ts";
import type { BaseErrorContext, declareNode } from "../shared/declare.ts";
import { type nodeImplementationOf } from "../shared/implement.ts";
import type { JsonSchema } from "../shared/jsonSchema.ts";
import type { TraverseAllows } from "../shared/traversal.ts";
import { BaseRange, type BaseRangeInner, type LengthBoundableData, type UnknownExpandedRangeSchema, type UnknownNormalizedRangeSchema } from "./range.ts";
export declare namespace MaxLength {
interface Inner extends BaseRangeInner {
rule: number;
}
interface NormalizedSchema extends UnknownNormalizedRangeSchema {
rule: number;
}
interface ExpandedSchema extends UnknownExpandedRangeSchema {
rule: number;
}
type Schema = ExpandedSchema | number;
interface ErrorContext extends BaseErrorContext<"maxLength">, Inner {
}
interface Declaration extends declareNode<{
kind: "maxLength";
schema: Schema;
reducibleTo: "exactLength";
normalizedSchema: NormalizedSchema;
inner: Inner;
prerequisite: LengthBoundableData;
errorContext: ErrorContext;
}> {
}
type Node = MaxLengthNode;
}
export declare class MaxLengthNode extends BaseRange<MaxLength.Declaration> {
readonly impliedBasis: BaseRoot;
traverseAllows: TraverseAllows<LengthBoundableData>;
reduceJsonSchema(schema: JsonSchema.LengthBoundable): JsonSchema.LengthBoundable;
}
export declare const MaxLength: {
implementation: nodeImplementationOf<MaxLength.Declaration>;
Node: typeof MaxLengthNode;
};