import Vue from 'vue'; import VueRouter, { RouteConfig } from 'vue-router'; import domains from '@snapshot-labs/snapshot-spaces/spaces/domains.json'; import Home from '@/views/Home.vue'; import Proposals from '@/views/Proposals.vue'; import Proposal from '@/views/Proposal.vue'; import Create from '@/views/Create.vue'; import Settings from '@/views/Settings.vue'; import Networks from '@/views/Networks.vue'; // import Strategies from '@/views/Strategies.vue'; import Delegate from '@/views/Delegate.vue'; Vue.use(VueRouter); const domainName = window.location.hostname; const routes: Array = [ { path: '/:key/settings/:from?', name: 'settings', component: Settings }, { path: '/networks', name: 'networks', component: Networks }, // { path: '/strategies', name: 'strategies', component: Strategies }, { path: '/delegate', name: 'delegate', component: Delegate }, { path: '/:key/proposal/:id', name: 'proposal', component: Proposal }, { path: '/:key/create', name: 'create', component: Create }, { path: '/:key', name: 'proposals', component: Proposals }, { path: '/:key/:tab', name: 'proposals-tab', component: Proposals }, { path: '/', name: 'home', component: domains[domainName] ? Proposals : Home }, { path: '/*', name: 'error-404', beforeEnter: (to, from, next) => next('/') } ]; const router = new VueRouter({ mode: 'hash', routes, scrollBehavior() { return { x: 0, y: 0 }; } }); export default router;