Files
luminic-front/src/router/index.ts
Vladimir Voronin a71f34a6ba chet novoe
2024-10-29 16:06:45 +03:00

57 lines
2.5 KiB
TypeScript

import {createRouter, createWebHistory} from 'vue-router';
import CategoriesList from '@/components/settings/categories/CategoriesList.vue';
import CreateCategoryModal from "@/components/settings/categories/CreateCategoryModal.vue";
import CategoryListItem from "@/components/settings/categories/CategoryListItem.vue"; // Импортируем новый компонент
import BudgetList from "../components/budgets/BudgetList.vue";
import BudgetView from "@/components/budgets/BudgetView.vue";
import SettingsView from "@/components/settings/SettingsView.vue";
import RecurrentList from "@/components/settings/recurrent/RecurrentList.vue";
import TransactionList from "@/components/transactions/TransactionList.vue";
import LoginView from "@/components/auth/LoginView.vue";
const routes = [
{path: '/login', component: LoginView},
{path: '/', name: 'Budgets main', component: BudgetList, meta: {requiresAuth: true}},
{path: '/analytics', name: 'Analytics', component: BudgetList, meta: {requiresAuth: true}},
{path: '/budgets', name: 'Budgets', component: BudgetList, meta: {requiresAuth: true}},
{path: '/budgets/:id', name: 'BudgetView', component: BudgetView, meta: {requiresAuth: true}},
{path: '/transactions/:mode*', name: 'Transaction List', component: TransactionList, meta: {requiresAuth: true}},
// {path: '/transactions/create', name: 'Transaction List', component: TransactionList},
{path: '/settings/', name: 'Settings', component: SettingsView, meta: {requiresAuth: true}},
{path: '/settings/categories', name: 'Categories', component: CategoriesList, meta: {requiresAuth: true}},
{
path: '/settings/recurrents',
name: 'Recurrent operations list',
component: RecurrentList,
meta: {requiresAuth: true}
},
{
path: '/settings/categories/create',
name: "Categories Creation",
component: CreateCategoryModal,
meta: {requiresAuth: true}
},// Добавляем новый маршрут
{
path: '/settings/categories/one',
name: "Categories Creation",
component: CategoryListItem,
meta: {requiresAuth: true}
}// Добавляем новый маршрут
];
const router = createRouter({
history: createWebHistory(),
routes,
});
router.beforeEach((to, from, next) => {
const token = localStorage.getItem('token');
if (to.meta.requiresAuth && !token) {
// const router = useRoute()
next('/login?back=' + to.fullPath);
} else {
next();
}
});
export default router;