2026-05-14 09:53:22 +08:00
|
|
|
import type { RouteRecordRaw } from 'vue-router'
|
2026-05-14 15:31:34 +08:00
|
|
|
import AboutView from './pages/about-us/index.vue'
|
2026-05-14 17:15:49 +08:00
|
|
|
import HomeView from './pages/home/index.vue'
|
2026-05-14 09:53:22 +08:00
|
|
|
import ProductsView from './pages/ProductsView.vue'
|
2026-05-18 10:39:52 +08:00
|
|
|
import { LANGS } from './lang'
|
2026-05-14 09:53:22 +08:00
|
|
|
export const routes: RouteRecordRaw[] = [
|
2026-05-14 13:08:29 +08:00
|
|
|
{
|
2026-05-18 10:39:52 +08:00
|
|
|
path: `/:lang(${LANGS.join('|')})?`,
|
2026-05-14 13:08:29 +08:00
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
path: '',
|
2026-05-19 17:03:28 +08:00
|
|
|
name: 'home',
|
2026-05-14 13:08:29 +08:00
|
|
|
component: HomeView,
|
|
|
|
|
},
|
|
|
|
|
{
|
2026-05-18 10:41:59 +08:00
|
|
|
path: 'about-us',
|
2026-05-18 10:41:18 +08:00
|
|
|
name: 'about-us',
|
2026-05-15 10:29:21 +08:00
|
|
|
component: AboutView
|
2026-05-14 13:08:29 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: 'products',
|
|
|
|
|
name: 'products',
|
2026-05-15 10:29:21 +08:00
|
|
|
component: ProductsView
|
2026-05-14 13:08:29 +08:00
|
|
|
},
|
2026-05-19 15:55:49 +08:00
|
|
|
{
|
|
|
|
|
path: 'media',
|
|
|
|
|
name: 'media',
|
|
|
|
|
component: () => import('./pages/media/index.vue')
|
|
|
|
|
},
|
2026-05-14 13:08:29 +08:00
|
|
|
{
|
2026-05-18 10:41:59 +08:00
|
|
|
path: 'contact-us',
|
2026-05-19 15:55:49 +08:00
|
|
|
name: 'contact-us',
|
|
|
|
|
component: () => import('./pages/contact-us/index.vue')
|
2026-05-14 13:08:29 +08:00
|
|
|
},
|
2026-05-15 10:29:21 +08:00
|
|
|
{
|
|
|
|
|
path: 'aida',
|
|
|
|
|
name: 'Aida',
|
|
|
|
|
component: () => import('./pages/aida/index.vue')
|
2026-05-19 09:57:24 +08:00
|
|
|
},
|
2026-05-19 09:57:53 +08:00
|
|
|
{ path: 'events',
|
2026-05-19 09:57:24 +08:00
|
|
|
name: 'events',
|
|
|
|
|
component: () => import('./pages/events/index.vue')
|
2026-05-19 09:57:53 +08:00
|
|
|
},
|
2026-05-19 14:49:12 +08:00
|
|
|
{ path: 'user-stories',
|
|
|
|
|
name: 'user-stories',
|
|
|
|
|
component: () => import('./pages/user-stories/index.vue')
|
|
|
|
|
},
|
2026-05-20 10:52:33 +08:00
|
|
|
{ path: 'help-centre',
|
|
|
|
|
name: 'help-centre',
|
|
|
|
|
component: () => import('./pages/help-centre/index.vue')
|
|
|
|
|
},
|
2026-05-18 15:22:08 +08:00
|
|
|
{
|
|
|
|
|
path: 'my-account',
|
|
|
|
|
name: 'MyAccount',
|
2026-05-18 16:46:55 +08:00
|
|
|
component: () => import('./pages/my-account/index.vue'),
|
|
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
path: '',
|
2026-05-19 17:03:28 +08:00
|
|
|
name: 'welcome',
|
2026-05-18 16:46:55 +08:00
|
|
|
component: () => import('./pages/my-account/welcome.vue'),
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: 'orders',
|
2026-05-19 17:03:28 +08:00
|
|
|
name: 'orders',
|
2026-05-18 16:46:55 +08:00
|
|
|
component: () => import('./pages/my-account/orders.vue'),
|
|
|
|
|
},
|
2026-05-19 10:36:47 +08:00
|
|
|
{
|
|
|
|
|
path: 'subscriptions',
|
2026-05-19 17:03:28 +08:00
|
|
|
name: 'subscriptions',
|
2026-05-19 10:36:47 +08:00
|
|
|
component: () => import('./pages/my-account/subscriptions.vue'),
|
|
|
|
|
},
|
2026-05-19 15:55:49 +08:00
|
|
|
{
|
|
|
|
|
path: 'address',
|
2026-05-19 17:03:28 +08:00
|
|
|
name: 'address',
|
2026-05-19 15:55:49 +08:00
|
|
|
component: () => import('./pages/my-account/address.vue'),
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: 'payment-methods',
|
2026-05-19 17:03:28 +08:00
|
|
|
name: 'payment-methods',
|
2026-05-19 15:55:49 +08:00
|
|
|
component: () => import('./pages/my-account/payment-methods.vue'),
|
|
|
|
|
},
|
2026-05-18 16:46:55 +08:00
|
|
|
{
|
|
|
|
|
path: ':pathMatch(.*)*',
|
2026-05-19 17:03:28 +08:00
|
|
|
name: 'not-found-welcome',
|
2026-05-18 16:46:55 +08:00
|
|
|
component: () => import('./pages/my-account/welcome.vue'),
|
|
|
|
|
},
|
|
|
|
|
]
|
2026-05-18 15:22:08 +08:00
|
|
|
},
|
2026-05-20 10:55:54 +08:00
|
|
|
{ path: 'privacy-policy',
|
|
|
|
|
name: 'privacy-policy',
|
|
|
|
|
component: () => import('./pages/others/privacy-policy.vue')
|
|
|
|
|
},
|
|
|
|
|
{ path: 'terms-of-use',
|
|
|
|
|
name: 'terms-of-use',
|
|
|
|
|
component: () => import('./pages/others/terms-of-use.vue')
|
|
|
|
|
},
|
|
|
|
|
{ path: 'disclaimer',
|
|
|
|
|
name: 'disclaimer',
|
|
|
|
|
component: () => import('./pages/others/disclaimer.vue')
|
|
|
|
|
},
|
|
|
|
|
{ path: 'site-map',
|
|
|
|
|
name: 'site-map',
|
|
|
|
|
component: () => import('./pages/others/site-map.vue')
|
|
|
|
|
},
|
2026-05-19 17:03:28 +08:00
|
|
|
{
|
|
|
|
|
path: ':pathMatch(.*)*',
|
2026-05-20 10:55:54 +08:00
|
|
|
name: 'not-found-404',
|
|
|
|
|
component: () => import('./pages/others/not-found-404.vue'),
|
2026-05-19 17:03:28 +08:00
|
|
|
},
|
2026-05-15 10:29:21 +08:00
|
|
|
]
|
|
|
|
|
}
|
2026-05-14 09:53:22 +08:00
|
|
|
]
|
2026-05-15 17:31:43 +08:00
|
|
|
|