From d7d5c9c23372be8e8520268d6586cce7fd4f1248 Mon Sep 17 00:00:00 2001 From: Mahdi Date: Sat, 13 Jun 2026 17:16:44 +0330 Subject: [PATCH] edit api ServiceRequestsView-Cn1p9TQz --- src/router/index.ts | 57 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 45 insertions(+), 12 deletions(-) diff --git a/src/router/index.ts b/src/router/index.ts index e946890..99a568e 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,5 +1,19 @@ import { createRouter, createWebHistory } from 'vue-router'; import { useAuthStore } from '@/stores/auth'; +import LoginView from '@/views/LoginView.vue'; +import VerifyOtpView from '@/views/VerifyOtpView.vue'; +import DashboardView from '@/views/DashboardView.vue'; +import CategoriesView from '@/views/CategoriesView.vue'; +import ServiceTemplatesView from '@/views/ServiceTemplatesView.vue'; +import BusinessesView from '@/views/BusinessesView.vue'; +import UsersView from '@/views/UsersView.vue'; +import BusinessRequestsView from '@/views/BusinessRequestsView.vue'; +import ServiceRequestsView from '@/views/ServiceRequestsView.vue'; +import BookingsView from '@/views/BookingsView.vue'; +import ProfileView from '@/views/ProfileView.vue'; +import PlatformSettingsView from '@/views/PlatformSettingsView.vue'; + +const CHUNK_RELOAD_KEY = 'montime-adm-chunk-reload'; const router = createRouter({ history: createWebHistory(), @@ -7,73 +21,73 @@ const router = createRouter({ { path: '/login', name: 'login', - component: () => import('@/views/LoginView.vue'), + component: LoginView, meta: { guest: true }, }, { path: '/verify', name: 'verify', - component: () => import('@/views/VerifyOtpView.vue'), + component: VerifyOtpView, meta: { guest: true }, }, { path: '/', name: 'dashboard', - component: () => import('@/views/DashboardView.vue'), + component: DashboardView, meta: { requiresAuth: true, requiresAdmin: true }, }, { path: '/categories', name: 'categories', - component: () => import('@/views/CategoriesView.vue'), + component: CategoriesView, meta: { requiresAuth: true, requiresAdmin: true }, }, { path: '/service-templates', name: 'service-templates', - component: () => import('@/views/ServiceTemplatesView.vue'), + component: ServiceTemplatesView, meta: { requiresAuth: true, requiresAdmin: true }, }, { path: '/businesses', name: 'businesses', - component: () => import('@/views/BusinessesView.vue'), + component: BusinessesView, meta: { requiresAuth: true, requiresAdmin: true }, }, { path: '/users', name: 'users', - component: () => import('@/views/UsersView.vue'), + component: UsersView, meta: { requiresAuth: true, requiresAdmin: true }, }, { path: '/business-requests', name: 'business-requests', - component: () => import('@/views/BusinessRequestsView.vue'), + component: BusinessRequestsView, meta: { requiresAuth: true, requiresAdmin: true }, }, { path: '/service-requests', name: 'service-requests', - component: () => import('@/views/ServiceRequestsView.vue'), + component: ServiceRequestsView, meta: { requiresAuth: true, requiresAdmin: true }, }, { path: '/bookings', name: 'bookings', - component: () => import('@/views/BookingsView.vue'), + component: BookingsView, meta: { requiresAuth: true, requiresAdmin: true }, }, { path: '/profile', name: 'profile', - component: () => import('@/views/ProfileView.vue'), + component: ProfileView, meta: { requiresAuth: true, requiresAdmin: true }, }, { path: '/settings', name: 'settings', - component: () => import('@/views/PlatformSettingsView.vue'), + component: PlatformSettingsView, meta: { requiresAuth: true, requiresAdmin: true }, }, ], @@ -100,4 +114,23 @@ router.beforeEach(async (to) => { } }); +router.afterEach(() => { + sessionStorage.removeItem(CHUNK_RELOAD_KEY); +}); + +router.onError((error, to) => { + const message = String(error?.message ?? error); + const isChunkError = + message.includes('Failed to fetch dynamically imported module') || + message.includes('Importing a module script failed') || + message.includes('error loading dynamically imported module'); + + if (!isChunkError) return; + + if (!sessionStorage.getItem(CHUNK_RELOAD_KEY)) { + sessionStorage.setItem(CHUNK_RELOAD_KEY, '1'); + window.location.assign(to.fullPath); + } +}); + export default router;