Files
frontend/src/router/index.js
T
2026-06-07 23:09:36 +03:00

54 lines
2.1 KiB
JavaScript

import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'
import DocViewer from '../components/DocViewer.vue'
const router = createRouter({
history: createWebHistory(),
scrollBehavior(to, from, savedPosition) {
// Если в ссылке есть хэш (например, #pricing)
if (to.hash) {
return new Promise((resolve) => {
// Даем 200 миллисекунд компонентам (Three.js/Swiper) на полную отрисовку
setTimeout(() => {
resolve({
el: to.hash,
behavior: 'smooth',
// Корректировка отступа сверху, чтобы липкая (sticky) шапка не перекрывала заголовок блока
offset: { x: 0, y: 80 }
})
}, 200)
})
}
// Если хэша нет, при переходе на новую страницу просто скроллим в самый верх
return { top: 0 }
},
routes: [
{
path: '/',
name: 'home',
component: HomeView,
meta: {
title: 'uVPN',
description: 'Безопасный, быстрый и анонимный VPN-сервис для вашего ПК и смартфона. Защитите свои данные от посторонних глаз уже сегодня.',
keywords: 'vpn, сервис, анонимность, безопасность, шифрование, купить vpn'
}
},
{
path: '/docs/:docName',
name: 'documents',
component: DocViewer,
props: true,
meta: {
title: 'Юридические сведения',
description: 'Пользовательское соглашение и политика конфиденциальности сервиса uVPN.',
keywords: 'vpn, пользовательское соглашение, политика конфиденциальности, документы'
}
}
]
})
export default router