Skip to content

Commit 6dec088

Browse files
committed
feat(frontend): add redirects when questionnaire data is missing
1 parent a51e371 commit 6dec088

File tree

12 files changed

+215
-203
lines changed

12 files changed

+215
-203
lines changed

apps/frontend/src/routeTree.gen.ts

Lines changed: 179 additions & 172 deletions
Large diffs are not rendered by default.
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { Container } from "@quassel/ui";
12
import { createFileRoute, Outlet } from "@tanstack/react-router";
23

34
export const Route = createFileRoute("/_auth/questionnaire")({
@@ -6,8 +7,8 @@ export const Route = createFileRoute("/_auth/questionnaire")({
67

78
function QuestionnaireLayout() {
89
return (
9-
<>
10+
<Container size="md" mt="xl">
1011
<Outlet />
11-
</>
12+
</Container>
1213
);
1314
}

apps/frontend/src/routes/_auth/questionnaire/_form.tsx

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { createFileRoute, Outlet, redirect } from "@tanstack/react-router";
2+
import { $questionnaire } from "../../../stores/questionnaire";
3+
4+
export const Route = createFileRoute("/_auth/questionnaire/_questionnaire")({
5+
beforeLoad: ({ location }) => {
6+
if (!$questionnaire.get()) {
7+
throw redirect({ to: "/questionnaire", search: { redirect: location.href } });
8+
}
9+
},
10+
component: () => <Outlet />,
11+
});

apps/frontend/src/routes/_auth/questionnaire/$id/entries.tsx renamed to apps/frontend/src/routes/_auth/questionnaire/_questionnaire/$id/entries.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Button, Group } from "@quassel/ui";
22
import { createFileRoute, Link, useNavigate } from "@tanstack/react-router";
3-
import { i18n } from "../../../../stores/i18n";
3+
import { i18n } from "../../../../../stores/i18n";
44
import { useStore } from "@nanostores/react";
55

66
export const messages = i18n("questionnaireEntries", {
@@ -30,6 +30,6 @@ function QuestionnaireEntries() {
3030
);
3131
}
3232

33-
export const Route = createFileRoute("/_auth/questionnaire/$id/entries")({
33+
export const Route = createFileRoute("/_auth/questionnaire/_questionnaire/$id/entries")({
3434
component: QuestionnaireEntries,
3535
});

apps/frontend/src/routes/_auth/questionnaire/_form/$id/overview.tsx renamed to apps/frontend/src/routes/_auth/questionnaire/_questionnaire/$id/overview.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ function QuestionnaireOverview() {
3232
);
3333
}
3434

35-
export const Route = createFileRoute("/_auth/questionnaire/_form/$id/overview")({
35+
export const Route = createFileRoute("/_auth/questionnaire/_questionnaire/$id/overview")({
3636
component: QuestionnaireOverview,
3737
});

apps/frontend/src/routes/_auth/questionnaire/_form/$id/period.tsx renamed to apps/frontend/src/routes/_auth/questionnaire/_questionnaire/$id/period.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ function QuestionnairePeriod() {
2828
);
2929
}
3030

31-
export const Route = createFileRoute("/_auth/questionnaire/_form/$id/period")({
31+
export const Route = createFileRoute("/_auth/questionnaire/_questionnaire/$id/period")({
3232
component: QuestionnairePeriod,
3333
});

apps/frontend/src/routes/_auth/questionnaire/_form/$id/remarks.tsx renamed to apps/frontend/src/routes/_auth/questionnaire/_questionnaire/$id/remarks.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ function QuestionnaireRemarks() {
3434
);
3535
}
3636

37-
export const Route = createFileRoute("/_auth/questionnaire/_form/$id/remarks")({
37+
export const Route = createFileRoute("/_auth/questionnaire/_questionnaire/$id/remarks")({
3838
component: QuestionnaireRemarks,
3939
});

apps/frontend/src/routes/_auth/questionnaire/_form/new.tsx renamed to apps/frontend/src/routes/_auth/questionnaire/_questionnaire/new.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ function QuestionnaireNew() {
2929
);
3030
}
3131

32-
export const Route = createFileRoute("/_auth/questionnaire/_form/new")({
32+
export const Route = createFileRoute("/_auth/questionnaire/_questionnaire/new")({
3333
component: QuestionnaireNew,
3434
});

apps/frontend/src/routes/_auth/questionnaire/_form/participant.tsx renamed to apps/frontend/src/routes/_auth/questionnaire/_questionnaire/participant.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@ function QuestionnaireParticipant() {
2626
);
2727
}
2828

29-
export const Route = createFileRoute("/_auth/questionnaire/_form/participant")({
29+
export const Route = createFileRoute("/_auth/questionnaire/_questionnaire/participant")({
3030
component: QuestionnaireParticipant,
3131
});

0 commit comments

Comments
 (0)