Files
hereconnect/apps/frontend/src/router/index.ts
T
ti 8c0e0ccc96
Main daploy / deploy (push) Successful in 46s
push to owner, manage chat
2024-11-29 00:05:43 +02:00

112 lines
3.4 KiB
TypeScript

import { createRouter, createWebHistory } from 'vue-router'
import { ROUTE_NAMES } from '@/constants/routes'
import HomeView from '@/views/HomeView.vue'
const routes = [
{
path: '/',
name: ROUTE_NAMES.HOME,
component: HomeView,
},
{
path: '/create',
name: ROUTE_NAMES.CREATE,
component: () => import('@/views/CreateView.vue'),
},
{
path: '/manage/:qr_code_uri/ready',
name: ROUTE_NAMES.MANAGE_QR_CODE_READY,
component: () => import('@/views/ManageQRCodeReadyView.vue'),
props: true,
},
{
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',
name: ROUTE_NAMES.READ_QR_CODE,
component: () => import('@/views/ReadQRCodeView.vue'),
props: true,
},
{
path: '/donate',
name: ROUTE_NAMES.DONATE,
component: () => import('@/views/DonateView.vue'),
},
{
path: '/chat/:qr_code_uri/:chat',
name: ROUTE_NAMES.PUBLIC_CHAT,
component: () => import('@/views/PublicChatView.vue'),
props: true,
},
// Закомментированные маршруты
// {
// path: '/create/actions',
// name: ROUTE_NAMES.CREATE_ACTIONS,
// component: () => import('@/views/CreateActionsView.vue'), // Второй шаг создания QR‑кода
// },
// {
// path: '/manage/:qr_code/settings',
// name: ROUTE_NAMES.MANAGE_SETTINGS,
// component: () => import('@/views/SettingsView.vue'), // Настройки QR‑кода для владельца
// },
// {
// path: '/manage/profile',
// name: ROUTE_NAMES.MANAGE_PROFILE,
// component: () => import('@/views/ProfileView.vue'), // Личный кабинет владельца
// },
// {
// path: '/manage/:qr_code/:chat',
// name: ROUTE_NAMES.MANAGE_CHAT,
// component: () => import('@/views/ChatView.vue'), // Чат для владельца
// },
// {
// path: '/:qr_code',
// name: ROUTE_NAMES.PUBLIC_QR,
// component: () => import('@/views/PublicQRView.vue'), // Публичная страница QR‑кода
// },
// {
// path: '/help',
// name: ROUTE_NAMES.HELP,
// component: () => import('@/views/HelpView.vue'), // Страница помощи и FAQ
// },
// {
// path: '/about',
// name: ROUTE_NAMES.ABOUT,
// component: () => import('@/views/AboutView.vue'), // Страница информации о компании и проекте
// },
// {
// path: '/contact',
// name: ROUTE_NAMES.CONTACT,
// component: () => import('@/views/ContactView.vue'), // Страница с контактной информацией
// },
// {
// path: '/privacy-policy',
// name: ROUTE_NAMES.PRIVACY_POLICY,
// component: () => import('@/views/PrivacyPolicyView.vue'), // Политика конфиденциальности
// },
// {
// path: '/terms-of-service',
// name: ROUTE_NAMES.TERMS_OF_SERVICE,
// component: () => import('@/views/TermsOfServiceView.vue'), // Условия использования
// },
]
const router = createRouter({
history: createWebHistory(),
routes,
scrollBehavior(to, from, savedPosition) {
if (savedPosition && to.name !== ROUTE_NAMES.CREATE) {
return savedPosition
} else {
return { top: 0, behavior: 'smooth' }
}
},
})
export default router