Skip to content

Commit b5af8f9

Browse files
committed
feat(frontend): introduce routing for finishing questionnaire
1 parent b883657 commit b5af8f9

File tree

4 files changed

+78
-3
lines changed

4 files changed

+78
-3
lines changed

apps/frontend/src/routeTree.gen.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import { Route as AuthAdministrationLanguagesIndexImport } from "./routes/_auth/
3535
import { Route as AuthAdministrationCarersIndexImport } from "./routes/_auth/administration/carers/index";
3636
import { Route as AuthQuestionnaireIdRemarksImport } from "./routes/_auth/questionnaire/$id/remarks";
3737
import { Route as AuthQuestionnaireIdPeriodImport } from "./routes/_auth/questionnaire/$id/period";
38+
import { Route as AuthQuestionnaireIdOverviewImport } from "./routes/_auth/questionnaire/$id/overview";
3839
import { Route as AuthQuestionnaireIdEntriesImport } from "./routes/_auth/questionnaire/$id/entries";
3940
import { Route as AuthAdministrationUsersNewImport } from "./routes/_auth/administration/users/new";
4041
import { Route as AuthAdministrationStudiesNewImport } from "./routes/_auth/administration/studies/new";
@@ -206,6 +207,13 @@ const AuthQuestionnaireIdPeriodRoute = AuthQuestionnaireIdPeriodImport.update({
206207
getParentRoute: () => AuthQuestionnaireRoute,
207208
} as any);
208209

210+
const AuthQuestionnaireIdOverviewRoute =
211+
AuthQuestionnaireIdOverviewImport.update({
212+
id: "/$id/overview",
213+
path: "/$id/overview",
214+
getParentRoute: () => AuthQuestionnaireRoute,
215+
} as any);
216+
209217
const AuthQuestionnaireIdEntriesRoute = AuthQuestionnaireIdEntriesImport.update(
210218
{
211219
id: "/$id/entries",
@@ -464,6 +472,13 @@ declare module "@tanstack/react-router" {
464472
preLoaderRoute: typeof AuthQuestionnaireIdEntriesImport;
465473
parentRoute: typeof AuthQuestionnaireImport;
466474
};
475+
"/_auth/questionnaire/$id/overview": {
476+
id: "/_auth/questionnaire/$id/overview";
477+
path: "/$id/overview";
478+
fullPath: "/questionnaire/$id/overview";
479+
preLoaderRoute: typeof AuthQuestionnaireIdOverviewImport;
480+
parentRoute: typeof AuthQuestionnaireImport;
481+
};
467482
"/_auth/questionnaire/$id/period": {
468483
id: "/_auth/questionnaire/$id/period";
469484
path: "/$id/period";
@@ -716,6 +731,7 @@ interface AuthQuestionnaireRouteChildren {
716731
AuthQuestionnaireParticipantRoute: typeof AuthQuestionnaireParticipantRoute;
717732
AuthQuestionnaireIndexRoute: typeof AuthQuestionnaireIndexRoute;
718733
AuthQuestionnaireIdEntriesRoute: typeof AuthQuestionnaireIdEntriesRoute;
734+
AuthQuestionnaireIdOverviewRoute: typeof AuthQuestionnaireIdOverviewRoute;
719735
AuthQuestionnaireIdPeriodRoute: typeof AuthQuestionnaireIdPeriodRoute;
720736
AuthQuestionnaireIdRemarksRoute: typeof AuthQuestionnaireIdRemarksRoute;
721737
}
@@ -725,6 +741,7 @@ const AuthQuestionnaireRouteChildren: AuthQuestionnaireRouteChildren = {
725741
AuthQuestionnaireParticipantRoute: AuthQuestionnaireParticipantRoute,
726742
AuthQuestionnaireIndexRoute: AuthQuestionnaireIndexRoute,
727743
AuthQuestionnaireIdEntriesRoute: AuthQuestionnaireIdEntriesRoute,
744+
AuthQuestionnaireIdOverviewRoute: AuthQuestionnaireIdOverviewRoute,
728745
AuthQuestionnaireIdPeriodRoute: AuthQuestionnaireIdPeriodRoute,
729746
AuthQuestionnaireIdRemarksRoute: AuthQuestionnaireIdRemarksRoute,
730747
};
@@ -770,6 +787,7 @@ export interface FileRoutesByFullPath {
770787
"/administration/studies/new": typeof AuthAdministrationStudiesNewRoute;
771788
"/administration/users/new": typeof AuthAdministrationUsersNewRoute;
772789
"/questionnaire/$id/entries": typeof AuthQuestionnaireIdEntriesRoute;
790+
"/questionnaire/$id/overview": typeof AuthQuestionnaireIdOverviewRoute;
773791
"/questionnaire/$id/period": typeof AuthQuestionnaireIdPeriodRoute;
774792
"/questionnaire/$id/remarks": typeof AuthQuestionnaireIdRemarksRoute;
775793
"/administration/carers/": typeof AuthAdministrationCarersIndexRoute;
@@ -801,6 +819,7 @@ export interface FileRoutesByTo {
801819
"/administration/studies/new": typeof AuthAdministrationStudiesNewRoute;
802820
"/administration/users/new": typeof AuthAdministrationUsersNewRoute;
803821
"/questionnaire/$id/entries": typeof AuthQuestionnaireIdEntriesRoute;
822+
"/questionnaire/$id/overview": typeof AuthQuestionnaireIdOverviewRoute;
804823
"/questionnaire/$id/period": typeof AuthQuestionnaireIdPeriodRoute;
805824
"/questionnaire/$id/remarks": typeof AuthQuestionnaireIdRemarksRoute;
806825
"/administration/carers": typeof AuthAdministrationCarersIndexRoute;
@@ -842,6 +861,7 @@ export interface FileRoutesById {
842861
"/_auth/administration/studies/new": typeof AuthAdministrationStudiesNewRoute;
843862
"/_auth/administration/users/new": typeof AuthAdministrationUsersNewRoute;
844863
"/_auth/questionnaire/$id/entries": typeof AuthQuestionnaireIdEntriesRoute;
864+
"/_auth/questionnaire/$id/overview": typeof AuthQuestionnaireIdOverviewRoute;
845865
"/_auth/questionnaire/$id/period": typeof AuthQuestionnaireIdPeriodRoute;
846866
"/_auth/questionnaire/$id/remarks": typeof AuthQuestionnaireIdRemarksRoute;
847867
"/_auth/administration/carers/": typeof AuthAdministrationCarersIndexRoute;
@@ -884,6 +904,7 @@ export interface FileRouteTypes {
884904
| "/administration/studies/new"
885905
| "/administration/users/new"
886906
| "/questionnaire/$id/entries"
907+
| "/questionnaire/$id/overview"
887908
| "/questionnaire/$id/period"
888909
| "/questionnaire/$id/remarks"
889910
| "/administration/carers/"
@@ -914,6 +935,7 @@ export interface FileRouteTypes {
914935
| "/administration/studies/new"
915936
| "/administration/users/new"
916937
| "/questionnaire/$id/entries"
938+
| "/questionnaire/$id/overview"
917939
| "/questionnaire/$id/period"
918940
| "/questionnaire/$id/remarks"
919941
| "/administration/carers"
@@ -953,6 +975,7 @@ export interface FileRouteTypes {
953975
| "/_auth/administration/studies/new"
954976
| "/_auth/administration/users/new"
955977
| "/_auth/questionnaire/$id/entries"
978+
| "/_auth/questionnaire/$id/overview"
956979
| "/_auth/questionnaire/$id/period"
957980
| "/_auth/questionnaire/$id/remarks"
958981
| "/_auth/administration/carers/"
@@ -1027,6 +1050,7 @@ export const routeTree = rootRoute
10271050
"/_auth/questionnaire/participant",
10281051
"/_auth/questionnaire/",
10291052
"/_auth/questionnaire/$id/entries",
1053+
"/_auth/questionnaire/$id/overview",
10301054
"/_auth/questionnaire/$id/period",
10311055
"/_auth/questionnaire/$id/remarks"
10321056
]
@@ -1137,6 +1161,10 @@ export const routeTree = rootRoute
11371161
"filePath": "_auth/questionnaire/$id/entries.tsx",
11381162
"parent": "/_auth/questionnaire"
11391163
},
1164+
"/_auth/questionnaire/$id/overview": {
1165+
"filePath": "_auth/questionnaire/$id/overview.tsx",
1166+
"parent": "/_auth/questionnaire"
1167+
},
11401168
"/_auth/questionnaire/$id/period": {
11411169
"filePath": "_auth/questionnaire/$id/period.tsx",
11421170
"parent": "/_auth/questionnaire"

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ function QuestionnaireEntries() {
1313
<form onSubmit={handleSubmit}>
1414
<Group>
1515
<Link to="/questionnaire/$id/period" params={p}>
16-
<Button variant="outline">Back</Button>
16+
<Button variant="light">Back</Button>
1717
</Link>
1818
<Button type="submit">Continue</Button>
1919
</Group>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { Button, Group } from "@quassel/ui";
2+
import { createFileRoute, Link, useNavigate } from "@tanstack/react-router";
3+
4+
function QuestionnaireOverview() {
5+
const n = useNavigate();
6+
7+
const handleClose = () => {
8+
// TODO handle closing quesitonnaire ("logout")
9+
10+
n({ to: "/questionnaire" });
11+
};
12+
13+
return (
14+
<>
15+
<h3>Thanks for submitting the questionnaire!</h3>
16+
<Group>
17+
<Link to="/questionnaire/new">
18+
<Button variant="outline">Continue with new period</Button>
19+
</Link>
20+
<Button onClick={handleClose}>Close</Button>
21+
</Group>
22+
</>
23+
);
24+
}
25+
26+
export const Route = createFileRoute("/_auth/questionnaire/$id/overview")({
27+
component: QuestionnaireOverview,
28+
});

apps/frontend/src/routes/_auth/questionnaire/$id/remarks.tsx

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,26 @@
1-
import { createFileRoute } from "@tanstack/react-router";
1+
import { Button, Group } from "@quassel/ui";
2+
import { createFileRoute, Link, useNavigate } from "@tanstack/react-router";
23

34
function QuestionnaireRemarks() {
4-
return "Hello /_auth/questionnaire/$id/remarks!";
5+
const n = useNavigate();
6+
const p = Route.useParams();
7+
8+
const handleSubmit = () => {
9+
n({ to: "/questionnaire/$id/overview", params: p });
10+
};
11+
12+
return (
13+
<form onSubmit={handleSubmit}>
14+
<h3>Add remarks</h3>
15+
<Group>
16+
<Link to="/questionnaire/$id/entries" params={p}>
17+
<Button variant="light">Back</Button>
18+
</Link>
19+
<Button variant="outline">Save</Button>
20+
<Button type="submit">Save and Complete</Button>
21+
</Group>
22+
</form>
23+
);
524
}
625

726
export const Route = createFileRoute("/_auth/questionnaire/$id/remarks")({

0 commit comments

Comments
 (0)