- 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
40 lines
1.3 KiB
TypeScript
40 lines
1.3 KiB
TypeScript
import type { BaseErrorContext, declareNode } from "../shared/declare.ts";
|
|
import type { NodeErrorContextInput } from "../shared/errors.ts";
|
|
import { type nodeImplementationOf } from "../shared/implement.ts";
|
|
import { BaseProp, type Prop } from "./prop.ts";
|
|
export declare namespace Required {
|
|
interface ErrorContext extends BaseErrorContext<"required"> {
|
|
missingValueDescription: string;
|
|
}
|
|
interface Schema extends Prop.Schema {
|
|
}
|
|
interface Inner extends Prop.Inner {
|
|
}
|
|
type Declaration = declareNode<Prop.Declaration<"required"> & {
|
|
schema: Schema;
|
|
normalizedSchema: Schema;
|
|
inner: Inner;
|
|
errorContext: ErrorContext;
|
|
}>;
|
|
type Node = RequiredNode;
|
|
}
|
|
export declare class RequiredNode extends BaseProp<"required"> {
|
|
expression: string;
|
|
errorContext: NodeErrorContextInput<"required">;
|
|
compiledErrorContext: string;
|
|
}
|
|
export declare const Required: {
|
|
implementation: nodeImplementationOf<{
|
|
reducibleTo: "required";
|
|
kind: "required";
|
|
prerequisite: object;
|
|
intersectionIsOpen: true;
|
|
childKind: import("../shared/implement.ts").RootKind;
|
|
schema: Required.Schema;
|
|
normalizedSchema: Required.Schema;
|
|
inner: Required.Inner;
|
|
errorContext: Required.ErrorContext;
|
|
}>;
|
|
Node: typeof RequiredNode;
|
|
};
|