File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- import { createRouter , createWebHistory } from "vue-router "
1+ import { createSpaRouter } from "@/shared/createSpaRouter "
22import { routes } from "./routes"
33import { useRequireLogin } from "@/composables/RequireLogin"
44import { checkHasOnePermission } from "@/composables/CheckPagePermission"
5- import { useRouteFocus } from "@/composables/use-route-focus"
65
7- const baseUrl = import . meta. env . VITE_VIPER_HOME
8- const router = createRouter ( {
9- scrollBehavior : ( ) => ( { left : 0 , top : 0 } ) ,
10- history : createWebHistory ( baseUrl ) ,
11- routes,
12- } )
6+ const router = createSpaRouter ( routes )
137
148router . beforeEach ( async ( to ) => {
159 const { requireLogin } = useRequireLogin ( to )
@@ -25,6 +19,4 @@ router.beforeEach(async (to) => {
2519 }
2620} )
2721
28- useRouteFocus ( router )
29-
3022export { router as CAHFSRouter }
Original file line number Diff line number Diff line change 1- import { createRouter , createWebHistory } from "vue-router "
1+ import { createSpaRouter } from "@/shared/createSpaRouter "
22import { routes } from "./routes"
33import { useRequireLogin } from "@/composables/RequireLogin"
44import { checkHasOnePermission } from "@/composables/CheckPagePermission"
5- import { useRouteFocus } from "@/composables/use-route-focus"
65
7- const baseUrl = import . meta. env . VITE_VIPER_HOME
8- const router = createRouter ( {
9- scrollBehavior : ( ) => ( { left : 0 , top : 0 } ) ,
10- history : createWebHistory ( baseUrl ) ,
11- routes,
12- } )
6+ const router = createSpaRouter ( routes )
137
148router . beforeEach ( async ( to ) => {
159 const { requireLogin } = useRequireLogin ( to )
@@ -25,6 +19,4 @@ router.beforeEach(async (to) => {
2519 }
2620} )
2721
28- useRouteFocus ( router )
29-
3022export { router as cmsRouter }
Original file line number Diff line number Diff line change 1- import { createRouter , createWebHistory } from "vue-router "
1+ import { createSpaRouter } from "@/shared/createSpaRouter "
22import { routes } from "./routes"
33import { useRequireLogin } from "@/composables/RequireLogin"
44import { checkHasOnePermission } from "@/composables/CheckPagePermission"
5- import { useRouteFocus } from "@/composables/use-route-focus"
65
7- const baseUrl = import . meta. env . VITE_VIPER_HOME
8- const router = createRouter ( {
9- scrollBehavior : ( ) => ( { left : 0 , top : 0 } ) ,
10- history : createWebHistory ( baseUrl ) ,
11- routes,
12- } )
6+ const router = createSpaRouter ( routes )
137
148router . beforeEach ( async ( to ) => {
159 const { requireLogin } = useRequireLogin ( to )
@@ -25,6 +19,4 @@ router.beforeEach(async (to) => {
2519 }
2620} )
2721
28- useRouteFocus ( router )
29-
3022export { router }
Original file line number Diff line number Diff line change 1- import { createRouter , createWebHistory } from "vue-router "
1+ import { createSpaRouter } from "@/shared/createSpaRouter "
22import { clinicalSchedulerRoutes as routes } from "./routes"
33import { useRequireLogin } from "@/composables/RequireLogin"
4- import { useRouteFocus } from "@/composables/use-route-focus"
54
6- const baseUrl = import . meta. env . VITE_VIPER_HOME
7- const router = createRouter ( {
8- scrollBehavior : ( ) => ( { left : 0 , top : 0 } ) ,
9- history : createWebHistory ( baseUrl ) ,
10- routes,
11- } )
5+ const router = createSpaRouter ( routes )
126
137router . beforeEach ( ( to ) => {
148 const { requireLogin } = useRequireLogin ( to )
159 return requireLogin ( true , "SVMSecure.ClnSched" )
1610} )
1711
18- useRouteFocus ( router )
19-
2012export { router as clinicalSchedulerRouter }
Original file line number Diff line number Diff line change 1- import { createRouter , createWebHistory } from "vue-router "
1+ import { createSpaRouter } from "@/shared/createSpaRouter "
22import { routes } from "./routes"
33import { useRequireLogin } from "@/composables/RequireLogin"
4- import { useRouteFocus } from "@/composables/use-route-focus"
54
6- const baseUrl = import . meta. env . VITE_VIPER_HOME
7- const router = createRouter ( {
8- scrollBehavior : ( ) => ( { left : 0 , top : 0 } ) ,
9- history : createWebHistory ( baseUrl ) ,
10- routes,
11- } )
5+ const router = createSpaRouter ( routes )
126
137router . beforeEach ( ( to ) => {
148 const { requireLogin } = useRequireLogin ( to )
159 return requireLogin ( )
1610} )
1711
18- useRouteFocus ( router )
19-
2012export { router }
Original file line number Diff line number Diff line change 1- import { createRouter , createWebHistory } from "vue-router "
1+ import { createSpaRouter } from "@/shared/createSpaRouter "
22import { effortRoutes as routes } from "./routes"
33import { useRequireLogin } from "@/composables/RequireLogin"
44import { checkHasOnePermission } from "@/composables/CheckPagePermission"
55import { useFetch } from "@/composables/ViperFetch"
66import { useUserStore } from "@/store/UserStore"
7- import { useRouteFocus } from "@/composables/use-route-focus"
87
9- const baseUrl = import . meta. env . VITE_VIPER_HOME
10- const router = createRouter ( {
11- scrollBehavior : ( ) => ( { left : 0 , top : 0 } ) ,
12- history : createWebHistory ( baseUrl ) ,
13- routes,
14- } )
8+ const router = createSpaRouter ( routes )
159
1610// Dedup latch: reuse in-flight fetch so concurrent navigations don't fire multiple requests
1711let evalPermissionsPromise : Promise < void > | null = null
@@ -63,6 +57,4 @@ router.beforeEach(async (to, from) => {
6357 }
6458} )
6559
66- useRouteFocus ( router )
67-
6860export { router as effortRouter }
Original file line number Diff line number Diff line change 1- import { createRouter , createWebHistory } from "vue-router "
1+ import { createSpaRouter } from "@/shared/createSpaRouter "
22import { routes } from "./routes"
33import { useRequireLogin } from "@/composables/RequireLogin"
4- import { useRouteFocus } from "@/composables/use-route-focus"
54import { checkHasOnePermission } from "@/composables/CheckPagePermission"
65import { useFetch } from "@/composables/ViperFetch"
76import { useUserStore } from "@/store/UserStore"
87
9- const baseUrl = import . meta. env . VITE_VIPER_HOME
10- const router = createRouter ( {
11- scrollBehavior : ( ) => ( { left : 0 , top : 0 } ) ,
12- history : createWebHistory ( baseUrl ) ,
13- routes,
14- } )
8+ const router = createSpaRouter ( routes )
159
1610// In-flight latch: dedups concurrent navigations but resets after each attempt so later
1711// sessions (e.g. re-auth into an SIS role) can re-fetch instead of reusing a stale resolution.
@@ -66,6 +60,4 @@ router.beforeEach(async (to, from) => {
6660 }
6761} )
6862
69- useRouteFocus ( router )
70-
7163export { router }
Original file line number Diff line number Diff line change 1+ import { createRouter , createWebHistory } from "vue-router"
2+ import type { RouteRecordRaw , Router } from "vue-router"
3+ import { useRouteFocus } from "@/composables/use-route-focus"
4+
5+ /**
6+ * Standard VIPER SPA router: web history rooted at VITE_VIPER_HOME,
7+ * scroll-to-top on every navigation, and route-change focus management
8+ * for accessibility. Callers wire their own `beforeEach` guard since
9+ * auth/permission rules vary per SPA.
10+ */
11+ export function createSpaRouter ( routes : RouteRecordRaw [ ] ) : Router {
12+ const baseUrl = import . meta. env . VITE_VIPER_HOME
13+ const router = createRouter ( {
14+ scrollBehavior : ( ) => ( { left : 0 , top : 0 } ) ,
15+ history : createWebHistory ( baseUrl ) ,
16+ routes,
17+ } )
18+ useRouteFocus ( router )
19+ return router
20+ }
You can’t perform that action at this time.
0 commit comments