chore(initial): ajout de la structure de base du projet avec Vite et Vue 3
- Création des fichiers de configuration pour ESLint, Prettier, et Tailwind CSS - Ajout de la configuration de l'éditeur avec .editorconfig - Mise en place de la structure de répertoires pour les composants, les pages, et les données - Intégration de la gestion des langues avec vue-i18n - Ajout de la configuration de Vite et des dépendances nécessaires - Création des fichiers de localisation pour l'anglais et le français - Ajout de la structure de base pour le portfolio avec des exemples de projets - Mise en place des composants de base pour l'interface utilisateur
This commit is contained in:
47
src/router/index.ts
Normal file
47
src/router/index.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
import { createRouter, createWebHistory } from 'vue-router'
|
||||
import HomePage from '../views/HomePage.vue'
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(import.meta.env.BASE_URL),
|
||||
routes: [
|
||||
{
|
||||
path: '/',
|
||||
name: 'home',
|
||||
component: HomePage
|
||||
},
|
||||
{
|
||||
path: '/projects',
|
||||
name: 'projects',
|
||||
component: () => import('../views/ProjectsPage.vue')
|
||||
},
|
||||
{
|
||||
path: '/project/:id',
|
||||
name: 'project-detail',
|
||||
component: () => import('../views/ProjectDetailPage.vue')
|
||||
},
|
||||
{
|
||||
path: '/about',
|
||||
name: 'about',
|
||||
component: () => import('../views/AboutPage.vue')
|
||||
},
|
||||
{
|
||||
path: '/contact',
|
||||
name: 'contact',
|
||||
component: () => import('../views/ContactPage.vue')
|
||||
}
|
||||
],
|
||||
scrollBehavior() {
|
||||
// Always scroll to top for consistent navigation
|
||||
return { top: 0 }
|
||||
}
|
||||
})
|
||||
|
||||
// Force scroll to top on every navigation
|
||||
router.afterEach(() => {
|
||||
// Use nextTick to ensure DOM is updated
|
||||
setTimeout(() => {
|
||||
window.scrollTo(0, 0)
|
||||
}, 0)
|
||||
})
|
||||
|
||||
export default router
|
Reference in New Issue
Block a user