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

52
frontend/node_modules/@ark/schema/out/predicate.d.ts generated vendored Normal file
View File

@@ -0,0 +1,52 @@
import { BaseConstraint } from "./constraint.ts";
import type { NodeCompiler } from "./shared/compile.ts";
import type { BaseErrorContext, BaseNormalizedSchema, declareNode } from "./shared/declare.ts";
import { type nodeImplementationOf } from "./shared/implement.ts";
import type { JsonSchema } from "./shared/jsonSchema.ts";
import { type RegisteredReference } from "./shared/registry.ts";
import type { ToJsonSchema } from "./shared/toJsonSchema.ts";
import type { Traversal, TraverseAllows, TraverseApply } from "./shared/traversal.ts";
export declare namespace Predicate {
type Schema<predicate extends Predicate = Predicate> = NormalizedSchema<predicate> | predicate;
interface NormalizedSchema<predicate extends Predicate = Predicate> extends BaseNormalizedSchema {
readonly predicate: predicate;
}
interface Inner<predicate extends Predicate = Predicate> {
readonly predicate: predicate;
}
interface ErrorContext extends BaseErrorContext<"predicate"> {
readonly predicate?: Predicate;
}
interface Declaration extends declareNode<{
kind: "predicate";
schema: Schema;
normalizedSchema: NormalizedSchema;
inner: Inner;
intersectionIsOpen: true;
errorContext: ErrorContext;
}> {
}
type Node = PredicateNode;
}
export declare class PredicateNode extends BaseConstraint<Predicate.Declaration> {
serializedPredicate: RegisteredReference;
compiledCondition: string;
compiledNegation: string;
impliedBasis: null;
expression: string;
traverseAllows: TraverseAllows;
errorContext: Predicate.ErrorContext;
compiledErrorContext: string;
traverseApply: TraverseApply;
compile(js: NodeCompiler): void;
reduceJsonSchema(base: JsonSchema.Constrainable, ctx: ToJsonSchema.Context): JsonSchema;
}
export declare const Predicate: {
implementation: nodeImplementationOf<Predicate.Declaration>;
Node: typeof PredicateNode;
};
export type Predicate<data = any> = (data: data, ctx: Traversal) => boolean;
export declare namespace Predicate {
type Casted<input = never, narrowed extends input = input> = (input: input, ctx: Traversal) => input is narrowed;
type Castable<input = never, narrowed extends input = input> = Predicate<input> | Casted<input, narrowed>;
}