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,