materio-d9/web/themes/custom/materiotheme/vuejs/route/index.js

90 lines
2.1 KiB
JavaScript

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from 'vuejs/components/Pages/Home'
import Base from 'vuejs/components/Pages/Base'
import Thematique from 'vuejs/components/Pages/Thematique'
import Blabla from 'vuejs/components/Pages/Blabla'
import Article from 'vuejs/components/Pages/Article'
import Showrooms from 'vuejs/components/Pages/Showrooms'
import Pricing from 'vuejs/components/Pages/Pricing'
// import Cart from 'vuejs/components/Pages/Cart'
Vue.use(VueRouter)
// https://www.lullabot.com/articles/decoupled-hard-problems-routing
// We could use aliases to never reload the page on language changement
// BUT beforeupdate is not triggered when push alias instead of path or name
// const languages = ['en', 'fr'];
// console.log('path aliases', (() => languages.map(l => `/${l}/base`))())
const basePath = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix
const routes = [
{
name: 'home',
path: basePath,
// path: '/',
// alias: (() => languages.map(l => `/${l}`))(),
component: Home
// components: {
// 'home': Home
// }
},
{
name: 'base',
path: `${basePath}base`,
// path: `/base`,
// alias: (() => languages.map(l => `/${l}/base`))(),
component: Base
// components: {
// 'base': Base
// }
},
{
name: 'thematique',
path: `${basePath}thematique/:alias`,
component: Thematique
},
{
name: 'blabla',
path: `${basePath}blabla`,
component: Blabla
},
{
name: 'article',
path: `${basePath}blabla/:alias`,
component: Article
// meta: { uuid:null }
},
{
name: 'showrooms',
path: `${basePath}showrooms`,
component: Showrooms
// meta: { uuid:null }
},
// {
// path: '*',
// name: 'notfound',
// components: {
// 'notfound': NotFound
// }
// },
{
name: 'pricing',
path: `${basePath}pricing`,
component: Pricing
}
// {
// name:'cart',
// path: `${basePath}cart`,
// component: Cart
// }
]
export default new VueRouter({
mode: 'history',
routes: routes
})