Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/unlucky-frogs-whisper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@quassel/frontend": patch
---

Fix prefilling participant form on edit
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import { createFileRoute, useNavigate } from "@tanstack/react-router";
import { components } from "../../../../api.gen";
import { $api } from "../../../../stores/api";
import { useQueryClient, useSuspenseQuery } from "@tanstack/react-query";
import { Button, TextInput, useForm } from "@quassel/ui";
import { Button, DateInput, Stack, TextInput, useForm } from "@quassel/ui";

Check warning on line 4 in apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx

View check run for this annotation

Codecov / codecov/patch

apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx#L4

Added line #L4 was not covered by tests
import { useEffect } from "react";

type FormValues = components["schemas"]["ParticipantMutationDto"];
type FormValues = {
id: string;
birthday: Date;
};

function AdministrationParticipantsEdit() {
const p = Route.useParams();
Expand All @@ -27,27 +29,30 @@
},
});
const f = useForm<FormValues>();
const handleSubmit = (values: FormValues) => {
const handleSubmit = ({ id, birthday }: FormValues) => {

Check warning on line 32 in apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx

View check run for this annotation

Codecov / codecov/patch

apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx#L32

Added line #L32 was not covered by tests
editParticipantMutation.mutate({
body: { ...values },
body: { id: +id, birthday: birthday.toISOString() },

Check warning on line 34 in apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx

View check run for this annotation

Codecov / codecov/patch

apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx#L34

Added line #L34 was not covered by tests
params: { path: { id: p.id } },
});
};

useEffect(() => {
f.setValues(participant.data ?? {});
f.resetDirty();
const { birthday, id } = participant.data;

Check warning on line 40 in apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx

View check run for this annotation

Codecov / codecov/patch

apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx#L40

Added line #L40 was not covered by tests

f.setValues({ birthday: new Date(birthday!), id: id.toString() });

Check warning on line 42 in apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx

View check run for this annotation

Codecov / codecov/patch

apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx#L42

Added line #L42 was not covered by tests
}, [participant.isSuccess, participant.data]);

return (
<>
<form autoComplete="off" onSubmit={f.onSubmit(handleSubmit)}>
<TextInput label="Id" type="text" {...f.getInputProps("id")} required />
<TextInput label="Birthday" type="date" {...f.getInputProps("birthday")} required />
<Stack>
<TextInput label="Id" type="text" {...f.getInputProps("id")} required />
<DateInput label="Birthday" {...f.getInputProps("birthday")} required />

Check warning on line 50 in apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx

View check run for this annotation

Codecov / codecov/patch

apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx#L48-L50

Added lines #L48 - L50 were not covered by tests

<Button type="submit" fullWidth mt="xl" loading={editParticipantMutation.isPending}>
Change
</Button>
<Button type="submit" fullWidth loading={editParticipantMutation.isPending}>

Check warning on line 52 in apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx

View check run for this annotation

Codecov / codecov/patch

apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx#L52

Added line #L52 was not covered by tests
Change
</Button>
</Stack>

Check warning on line 55 in apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx

View check run for this annotation

Codecov / codecov/patch

apps/frontend/src/routes/_auth/administration/participants/edit.$id.tsx#L54-L55

Added lines #L54 - L55 were not covered by tests
</form>
</>
);
Expand Down