add: - legal .md files - routers - home view - rewrite App.vue - update footer / header - update features
35 lines
1.2 KiB
JavaScript
35 lines
1.2 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 },
|
|
{ path: '/docs/:docName', name: 'documents', component: DocViewer, props: true }
|
|
]
|
|
})
|
|
|
|
export default router
|