Files
skt-vuetify-templates/src/router/routes.ts
T
skytek_xinliang ec62fcee51 feat(sections): add SectionFormPage demo
Add a dedicated SectionFormPage demo component and view to showcase form fields, detail sections, notices, and page-driver-managed state.

Remove the obsolete SectionSearchPanel demo route and menu entry, and add spacing to SectionFormPage cards for improved layout.feat(sections): add SectionFormPage demo

Add a dedicated SectionFormPage demo component and view to showcase form fields, detail sections, notices, and page-driver-managed state.

Remove the obsolete SectionSearchPanel demo route and menu entry, and add spacing to SectionFormPage cards for improved layout.
2026-05-22 15:41:52 +08:00

111 lines
3.1 KiB
TypeScript

import type { RouteRecordRaw } from 'vue-router'
export const routes: RouteRecordRaw[] = [
{
path: '/',
name: 'home',
component: () => import('@/views/Home.vue'),
meta: { layout: 'default', requiresAuth: true },
},
{
path: '/settings',
name: 'settings',
component: () => import('@/views/Settings.vue'),
meta: { layout: 'default' },
},
{
path: '/login',
name: 'login',
component: () => import('@/views/Login.vue'),
meta: { layout: 'none', guestOnly: true },
},
{
path: '/single-record-maintenance',
name: 'single-record-maintenance',
component: () => import('@/views/maint/SingleRecord.vue'),
meta: { layout: 'default' },
},
{
path: '/master-detail-maintenance',
name: 'master-detail-maintenance-a',
component: () => import('@/views/maint/MasterDetailA.vue'),
meta: { layout: 'default' },
},
{
path: '/master-detail-maintenance-b',
name: 'master-detail-maintenance-b',
component: () => import('@/views/maint/MasterDetailB.vue'),
meta: { layout: 'default' },
},
{
path: '/master-detail-maintenance-c',
name: 'master-detail-maintenance-c',
component: () => import('@/views/maint/MasterDetailC.vue'),
meta: { layout: 'default' },
},
{
path: '/editable-grid-maintenance',
name: 'editable-grid-maintenance',
component: () => import('@/views/maint/EditableGrid.vue'),
meta: { layout: 'default' },
},
{
path: '/demos/sections',
redirect: '/demos/sections/query-page',
},
{
path: '/demos/sections/query-page',
name: 'demo-section-query-page',
component: () => import('@/views/demos/SectionQueryPageDemo.vue'),
meta: { title: 'SectionQueryPage 示範', layout: 'default' },
},
{
path: '/demos/sections/form-page',
name: 'demo-section-form-page',
component: () => import('@/views/demos/SectionFormPageDemo.vue'),
meta: { title: 'SectionFormPage 示範', layout: 'default' },
},
{
path: '/:fncId([0-9A-Z]{5,6})',
name: 'fnc-page',
component: () => import('@/views/FncPage.vue'),
meta: { layout: 'default' },
},
{
path: '/403',
name: 'forbidden',
component: () => import('@/views/errors/Forbidden.vue'),
meta: { title: 'Forbidden', layout: 'none' },
},
{
path: '/500',
name: 'server-error',
component: () => import('@/views/errors/ServerError.vue'),
meta: { title: 'Server Error', layout: 'none' },
},
{
path: '/503',
name: 'service-unavailable',
component: () => import('@/views/errors/ServiceUnavailable.vue'),
meta: { title: 'Service Unavailable', layout: 'none' },
},
{
path: '/network',
name: 'network-error',
component: () => import('@/views/errors/NetworkError.vue'),
meta: { title: 'Network Error', layout: 'none' },
},
{
path: '/maintenance',
name: 'maintenance',
component: () => import('@/views/errors/Maintenance.vue'),
meta: { title: 'Maintenance', layout: 'none' },
},
{
path: '/:pathMatch(.*)*',
name: 'not-found',
component: () => import('@/views/errors/NotFound.vue'),
meta: { title: 'Not Found', layout: 'none' },
},
]