namillum
Version:
Bubble Protocol SDK
42 lines (37 loc) • 1.47 kB
text/typescript
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<RouteConfig> = [
{ 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;