nidus-sync/ts/rmo/route/config.ts

164 lines
4.1 KiB
TypeScript

import { createRouter, createWebHistory } from "vue-router";
import type { RouteRecordRaw } from "vue-router";
import Compliance from "@/rmo/view/Compliance.vue";
import ComplianceAddress from "@/rmo/content/compliance/Address.vue";
import ComplianceComplete from "@/rmo/content/compliance/Complete.vue";
import ComplianceConcern from "@/rmo/content/compliance/Concern.vue";
import ComplianceContact from "@/rmo/content/compliance/Contact.vue";
import ComplianceDistrict from "@/rmo/view/ComplianceDistrict.vue";
import ComplianceEvidence from "@/rmo/content/compliance/Evidence.vue";
import ComplianceIntro from "@/rmo/content/compliance/Intro.vue";
import ComplianceMailer from "@/rmo/view/ComplianceMailer.vue";
import CompliancePermission from "@/rmo/content/compliance/Permission.vue";
import ComplianceProcess from "@/rmo/content/compliance/Process.vue";
import ComplianceSubmit from "@/rmo/content/compliance/Submit.vue";
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";
import StatusDistrict from "@/rmo/view/district/Status.vue";
import Water from "@/rmo/view/Water.vue";
import WaterDistrict from "@/rmo/view/district/Water.vue";
import { ROUTE_NAMES } from "@/rmo/route/name";
const routes: RouteRecordRaw[] = [
{
path: "/",
name: "HomeBase",
component: HomeBase,
},
{
path: "/nuisance",
name: "NuisanceBase",
component: NuisanceBase,
},
{
path: "/district/:slug",
name: "HomeDistrict",
component: HomeDistrict,
props: true,
},
{
children: [
{
component: ComplianceIntro,
name: ROUTE_NAMES.COMPLIANCE_INTRO,
path: "",
},
{
component: ComplianceAddress,
name: ROUTE_NAMES.COMPLIANCE_ADDRESS,
path: "address",
},
{
component: ComplianceComplete,
name: ROUTE_NAMES.COMPLIANCE_COMPLETE,
path: "complete",
},
{
component: ComplianceConcern,
name: ROUTE_NAMES.COMPLIANCE_CONCERN,
path: "concern",
},
{
component: ComplianceContact,
name: ROUTE_NAMES.COMPLIANCE_CONTACT,
path: "contact",
},
{
component: ComplianceEvidence,
name: ROUTE_NAMES.COMPLIANCE_EVIDENCE,
path: "evidence",
},
{
component: CompliancePermission,
name: ROUTE_NAMES.COMPLIANCE_PERMISSION,
path: "permission",
},
{
component: ComplianceProcess,
name: ROUTE_NAMES.COMPLIANCE_PROCESS,
path: "process",
},
{
component: ComplianceSubmit,
name: ROUTE_NAMES.COMPLIANCE_SUBMIT,
path: "submit",
},
],
component: Compliance,
path: "/compliance/:public_id",
name: "Compliance",
props: true,
},
{
component: ComplianceDistrict,
path: "/district/:slug/compliance",
name: "ComplianceDistrict",
props: true,
},
{
path: "/district/:slug/nuisance",
name: "NuisanceDistrict",
component: NuisanceDistrict,
props: true,
},
{
path: "/district/:slug/status",
name: "StatusDistrict",
component: StatusDistrict,
props: true,
},
{
path: "/district/:slug/water",
name: "WaterDistrict",
component: WaterDistrict,
props: true,
},
{
path: "/mailer/:public_id",
name: "ComplianceMailer",
component: ComplianceMailer,
props: true,
},
{
path: "/status",
name: "StatusBase",
component: StatusBase,
},
{
component: StatusByID,
name: ROUTE_NAMES.STATUS_BY_ID,
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",
component: Water,
},
];
export const router = createRouter({
history: createWebHistory("/"),
routes,
});
export default router;