From eb4811ab8bbd528cc740c7339ee0b0d38fd3daf8 Mon Sep 17 00:00:00 2001 From: mono Date: Sun, 15 Mar 2026 23:32:36 -0500 Subject: [PATCH] feat: add auth protection to routes using meta fields --- src/pages/comprar.vue | 6 +++++- src/pages/summary_purchase.vue | 6 +++++- src/router/index.js | 11 +++++++++++ vite.config.mjs | 3 +++ 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/pages/comprar.vue b/src/pages/comprar.vue index 124c4fe..970ce2d 100644 --- a/src/pages/comprar.vue +++ b/src/pages/comprar.vue @@ -3,5 +3,9 @@ diff --git a/src/pages/summary_purchase.vue b/src/pages/summary_purchase.vue index 2fcd7ff..8ef1288 100644 --- a/src/pages/summary_purchase.vue +++ b/src/pages/summary_purchase.vue @@ -3,5 +3,9 @@ diff --git a/src/router/index.js b/src/router/index.js index 4e2db62..9169544 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -15,6 +15,17 @@ const router = createRouter({ routes: setupLayouts(routes), }) +router.beforeEach((to, from, next) => { + const isAuthenticated = !!localStorage.getItem('access_token') + const requiresAuth = to.meta.requiresAuth === true + + if (requiresAuth && !isAuthenticated) { + next({ path: '/autenticarse', replace: true }) + } else { + next() + } +}) + // Workaround for https://github.com/vitejs/vite/issues/11804 router.onError((err, to) => { if (err?.message?.includes?.('Failed to fetch dynamically imported module')) { diff --git a/vite.config.mjs b/vite.config.mjs index bfb192d..2369908 100644 --- a/vite.config.mjs +++ b/vite.config.mjs @@ -39,6 +39,9 @@ export default defineConfig({ imports: [ 'vue', 'vue-router', + { + 'unplugin-vue-router': ['definePage'], + }, ], eslintrc: { enabled: true,