29 lines
1.4 KiB
TypeScript
29 lines
1.4 KiB
TypeScript
import { createRouter, createWebHistory, RouteLocationNormalized } from 'vue-router'
|
|
import Dashboard from '../pages/Dashboard.vue';
|
|
import Login from '../pages/Login.vue';
|
|
import Index from '../pages/Index.vue';
|
|
import Register from '../pages/Register.vue';
|
|
import Account from '@/pages/Account.vue';
|
|
import Settings from '../pages/Settings.vue';
|
|
import Budgeting from '../pages/Budgeting.vue';
|
|
import BudgetSidebar from '../pages/BudgetSidebar.vue';
|
|
|
|
const routes = [
|
|
{ path: "/", name: "Index", component: Index },
|
|
{ path: "/dashboard", name: "Dashboard", component: Dashboard },
|
|
{ path: "/login", name: "Login", component: Login },
|
|
{ path: "/register", name: "Register", component: Register },
|
|
{ path: "/budget/:budgetid/budgeting", name: "Budget", redirect: (to : RouteLocationNormalized) =>
|
|
'/budget/' + to.params.budgetid + '/budgeting/' + new Date().getFullYear() + '/' + new Date().getMonth()
|
|
},
|
|
{ path: "/budget/:budgetid/budgeting/:year/:month", name: "Budget with date", components: { default: Budgeting, sidebar: BudgetSidebar }, props: true },
|
|
{ path: "/budget/:budgetid/Settings", name: "Budget Settings", components: { default: Settings, sidebar: BudgetSidebar }, props: true },
|
|
{ path: "/budget/:budgetid/account/:accountid", name: "Account", components: { default: Account, sidebar: BudgetSidebar }, props: true },
|
|
]
|
|
|
|
const router = createRouter({
|
|
history: createWebHistory(),
|
|
routes,
|
|
})
|
|
|
|
export default router |