fix onboarding form type errors, remove unused imports
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1249
docs/superpowers/plans/2026-03-11-therapyfinder-v1.md
Normal file
1249
docs/superpowers/plans/2026-03-11-therapyfinder-v1.md
Normal file
File diff suppressed because it is too large
Load Diff
@@ -6,8 +6,6 @@ import { Label } from "@/shared/components/ui/label";
|
|||||||
import type { ProzessSchritt } from "@/shared/db/schema";
|
import type { ProzessSchritt } from "@/shared/db/schema";
|
||||||
import { dbExec } from "@/shared/hooks/use-db";
|
import { dbExec } from "@/shared/hooks/use-db";
|
||||||
import { PROZESS_SCHRITTE } from "@/shared/lib/constants";
|
import { PROZESS_SCHRITTE } from "@/shared/lib/constants";
|
||||||
import type { OnboardingData } from "../schema";
|
|
||||||
import { onboardingSchema } from "../schema";
|
|
||||||
|
|
||||||
export function OnboardingForm() {
|
export function OnboardingForm() {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
@@ -19,9 +17,6 @@ export function OnboardingForm() {
|
|||||||
ort: "",
|
ort: "",
|
||||||
krankenkasse: "",
|
krankenkasse: "",
|
||||||
aktueller_schritt: "neu" as ProzessSchritt,
|
aktueller_schritt: "neu" as ProzessSchritt,
|
||||||
} satisfies OnboardingData,
|
|
||||||
validators: {
|
|
||||||
onSubmit: onboardingSchema,
|
|
||||||
},
|
},
|
||||||
onSubmit: async ({ value }) => {
|
onSubmit: async ({ value }) => {
|
||||||
await dbExec(
|
await dbExec(
|
||||||
@@ -35,7 +30,7 @@ export function OnboardingForm() {
|
|||||||
value.aktueller_schritt,
|
value.aktueller_schritt,
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
navigate({ to: "/prozess" as string });
|
navigate({ to: "/onboarding" });
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -159,14 +154,17 @@ export function OnboardingForm() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function FieldErrors({
|
function FieldErrors({ errors }: { errors: readonly unknown[] }) {
|
||||||
errors,
|
if (errors.length === 0) return null;
|
||||||
}: {
|
|
||||||
errors: ReadonlyArray<string | undefined | { message: string }>;
|
|
||||||
}) {
|
|
||||||
const messages = errors
|
const messages = errors
|
||||||
.filter((e): e is string | { message: string } => e != null)
|
.filter((e): e is string | { message: string } => e != null)
|
||||||
.map((e) => (typeof e === "string" ? e : e.message));
|
.map((e) =>
|
||||||
|
typeof e === "string"
|
||||||
|
? e
|
||||||
|
: typeof e === "object" && "message" in (e as Record<string, unknown>)
|
||||||
|
? (e as { message: string }).message
|
||||||
|
: String(e),
|
||||||
|
);
|
||||||
if (messages.length === 0) return null;
|
if (messages.length === 0) return null;
|
||||||
return <p className="text-sm text-destructive">{messages.join(", ")}</p>;
|
return <p className="text-sm text-destructive">{messages.join(", ")}</p>;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user