Files
hereconnect/apps/frontend/src/router/index.ts
T

112 lines
3.4 KiB
TypeScript
Raw Normal View History

2024-11-07 14:13:39 +02:00
import { createRouter, createWebHistory } from 'vue-router'
2024-11-20 01:59:52 +02:00
import { ROUTE_NAMES } from '@/constants/routes'
2024-11-14 16:43:46 +02:00
import HomeView from '@/views/HomeView.vue'
const routes = [
{
path: '/',
2024-11-20 01:59:52 +02:00
name: ROUTE_NAMES.HOME,
2024-11-14 16:43:46 +02:00
component: HomeView,
},
{
path: '/create',
2024-11-20 01:59:52 +02:00
name: ROUTE_NAMES.CREATE,
component: () => import('@/views/CreateView.vue'),
2024-11-14 16:43:46 +02:00
},
{
path: '/manage/:qr_code_uri/ready',
2024-11-20 01:59:52 +02:00
name: ROUTE_NAMES.MANAGE_QR_CODE_READY,
component: () => import('@/views/ManageQRCodeReadyView.vue'),
props: true,
},
2024-11-29 00:05:43 +02:00
{
path: '/manage/:qr_code_uri/chat/:chat',
name: ROUTE_NAMES.MANAGE_QR_CODE_CHAT,
component: () => import('@/views/ManageQRCodeChatView.vue'),
props: true,
},
{
path: '/read/:qr_code_uri',
2024-11-20 01:59:52 +02:00
name: ROUTE_NAMES.READ_QR_CODE,
component: () => import('@/views/ReadQRCodeView.vue'),
props: true,
},
2024-11-19 01:17:16 +02:00
{
path: '/donate',
2024-11-20 01:59:52 +02:00
name: ROUTE_NAMES.DONATE,
2024-11-19 01:17:16 +02:00
component: () => import('@/views/DonateView.vue'),
},
2024-11-20 01:59:52 +02:00
{
path: '/chat/:qr_code_uri/:chat',
name: ROUTE_NAMES.PUBLIC_CHAT,
component: () => import('@/views/PublicChatView.vue'),
props: true,
},
2024-11-19 01:17:16 +02:00
2024-11-20 01:59:52 +02:00
// Закомментированные маршруты
2024-11-14 16:43:46 +02:00
// {
// path: '/create/actions',
2024-11-20 01:59:52 +02:00
// name: ROUTE_NAMES.CREATE_ACTIONS,
// component: () => import('@/views/CreateActionsView.vue'), // Второй шаг создания QR‑кода
2024-11-14 16:43:46 +02:00
// },
// {
// path: '/manage/:qr_code/settings',
2024-11-20 01:59:52 +02:00
// name: ROUTE_NAMES.MANAGE_SETTINGS,
// component: () => import('@/views/SettingsView.vue'), // Настройки QR‑кода для владельца
2024-11-14 16:43:46 +02:00
// },
// {
// path: '/manage/profile',
2024-11-20 01:59:52 +02:00
// name: ROUTE_NAMES.MANAGE_PROFILE,
2024-11-14 16:43:46 +02:00
// component: () => import('@/views/ProfileView.vue'), // Личный кабинет владельца
// },
// {
// path: '/manage/:qr_code/:chat',
2024-11-20 01:59:52 +02:00
// name: ROUTE_NAMES.MANAGE_CHAT,
2024-11-14 16:43:46 +02:00
// component: () => import('@/views/ChatView.vue'), // Чат для владельца
// },
// {
// path: '/:qr_code',
2024-11-20 01:59:52 +02:00
// name: ROUTE_NAMES.PUBLIC_QR,
// component: () => import('@/views/PublicQRView.vue'), // Публичная страница QR‑кода
2024-11-14 16:43:46 +02:00
// },
// {
// path: '/help',
2024-11-20 01:59:52 +02:00
// name: ROUTE_NAMES.HELP,
2024-11-14 16:43:46 +02:00
// component: () => import('@/views/HelpView.vue'), // Страница помощи и FAQ
// },
// {
// path: '/about',
2024-11-20 01:59:52 +02:00
// name: ROUTE_NAMES.ABOUT,
2024-11-14 16:43:46 +02:00
// component: () => import('@/views/AboutView.vue'), // Страница информации о компании и проекте
// },
// {
// path: '/contact',
2024-11-20 01:59:52 +02:00
// name: ROUTE_NAMES.CONTACT,
2024-11-14 16:43:46 +02:00
// component: () => import('@/views/ContactView.vue'), // Страница с контактной информацией
// },
// {
// path: '/privacy-policy',
2024-11-20 01:59:52 +02:00
// name: ROUTE_NAMES.PRIVACY_POLICY,
2024-11-14 16:43:46 +02:00
// component: () => import('@/views/PrivacyPolicyView.vue'), // Политика конфиденциальности
// },
// {
// path: '/terms-of-service',
2024-11-20 01:59:52 +02:00
// name: ROUTE_NAMES.TERMS_OF_SERVICE,
2024-11-14 16:43:46 +02:00
// component: () => import('@/views/TermsOfServiceView.vue'), // Условия использования
// },
]
2024-11-07 14:13:39 +02:00
const router = createRouter({
2024-11-26 21:40:31 +02:00
history: createWebHistory(),
2024-11-14 16:43:46 +02:00
routes,
2024-11-26 21:00:52 +02:00
scrollBehavior(to, from, savedPosition) {
2024-11-27 11:10:42 +02:00
if (savedPosition && to.name !== ROUTE_NAMES.CREATE) {
2024-11-26 21:00:52 +02:00
return savedPosition
} else {
return { top: 0, behavior: 'smooth' }
}
},
2024-11-07 14:13:39 +02:00
})
export default router