diff --git a/ts/rmo/route/config.ts b/ts/rmo/route/config.ts index b69ea134..b1e90cc4 100644 --- a/ts/rmo/route/config.ts +++ b/ts/rmo/route/config.ts @@ -16,6 +16,7 @@ import HomeBase from "@/rmo/view/Home.vue"; import HomeDistrict from "@/rmo/view/district/Home.vue"; import NuisanceBase from "@/rmo/view/Nuisance.vue"; import NuisanceDistrict from "@/rmo/view/district/Nuisance.vue"; +import RegisterNotificationsComplete from "@/rmo/view/RegisterNotificationsComplete.vue"; import ReportSubmitted from "@/rmo/view/ReportSubmitted.vue"; import StatusBase from "@/rmo/view/Status.vue"; import StatusByID from "@/rmo/view/StatusByID.vue"; @@ -125,12 +126,6 @@ const routes: RouteRecordRaw[] = [ component: ComplianceMailer, props: true, }, - { - path: "/submitted/:id", - name: "ReportSubmitted", - component: ReportSubmitted, - props: true, - }, { path: "/status", name: "StatusBase", @@ -142,6 +137,18 @@ const routes: RouteRecordRaw[] = [ path: "/status/:id", props: true, }, + { + path: "/submitted/:id", + name: "ReportSubmitted", + component: ReportSubmitted, + props: true, + }, + { + path: "/submitted/:id/complete", + name: ROUTE_NAMES.REGISTER_NOTIFICATIONS_COMPLETE, + component: RegisterNotificationsComplete, + props: true, + }, { path: "/water", name: "Water", diff --git a/ts/rmo/route/name.ts b/ts/rmo/route/name.ts index 5d47b068..bd1f59e9 100644 --- a/ts/rmo/route/name.ts +++ b/ts/rmo/route/name.ts @@ -8,6 +8,7 @@ export const ROUTE_NAMES = { COMPLIANCE_PERMISSION: "compliance-permission", COMPLIANCE_PROCESS: "compliance-process", COMPLIANCE_SUBMIT: "compliance-submit", + REGISTER_NOTIFICATIONS_COMPLETE: "register-notifications-complete", REVIEW_SITE: "review-site", } as const; diff --git a/ts/rmo/route/use.ts b/ts/rmo/route/use.ts index c2c9bdd1..937b42a8 100644 --- a/ts/rmo/route/use.ts +++ b/ts/rmo/route/use.ts @@ -31,6 +31,16 @@ export function useRoutes() { ); const ComplianceProcess = complianceRoute(ROUTE_NAMES.COMPLIANCE_PROCESS); const ComplianceSubmit = complianceRoute(ROUTE_NAMES.COMPLIANCE_SUBMIT); + const RegisterNotificationsComplete = ( + publicID: string, + ): RouteLocationRaw => { + return { + name: ROUTE_NAMES.REGISTER_NOTIFICATIONS_COMPLETE, + params: { + public_id: publicID, + }, + }; + }; return { ComplianceAddress, ComplianceComplete, @@ -41,5 +51,6 @@ export function useRoutes() { CompliancePermission, ComplianceProcess, ComplianceSubmit, + RegisterNotificationsComplete, }; } diff --git a/ts/rmo/view/RegisterNotificationsComplete.vue b/ts/rmo/view/RegisterNotificationsComplete.vue new file mode 100644 index 00000000..29899c4b --- /dev/null +++ b/ts/rmo/view/RegisterNotificationsComplete.vue @@ -0,0 +1,177 @@ + + + diff --git a/ts/rmo/view/ReportSubmitted.vue b/ts/rmo/view/ReportSubmitted.vue index 7bf2c03f..bfe797ea 100644 --- a/ts/rmo/view/ReportSubmitted.vue +++ b/ts/rmo/view/ReportSubmitted.vue @@ -275,6 +275,7 @@ import { ref, onMounted } from "vue"; import { computedAsync } from "@vueuse/core"; import { useRouter } from "vue-router"; +import { useRoutes } from "@/rmo/route/use"; import { useStoreDistrict } from "@/rmo/store/district"; import { useStorePublicReport } from "@/store/publicreport"; import type { District, PublicReport } from "@/type/api"; @@ -305,6 +306,7 @@ const formData = ref({ subscribe: false, }); const router = useRouter(); +const routes = useRoutes(); const storeDistrict = useStoreDistrict(); const storePublicReport = useStorePublicReport(); @@ -332,7 +334,7 @@ const handleSubmit = async () => { if (response.ok) { // Handle success (e.g., show a success message) - console.log("Form submitted successfully"); + router.push(routes.RegisterNotificationsComplete(props.id)); } else { // Handle error console.error("Form submission failed");