+
+
+
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
index c79ff1e..e5a3095 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,4 +1,6 @@
import { createRouter, createWebHistory } from 'vue-router'
+import { useUserStore } from '@/stores/user'
+
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
@@ -8,15 +10,36 @@ const router = createRouter({
name: 'Login',
component: () => import('../views/LoginView.vue')
},
- {
- path: '/about',
- name: 'about',
+
+ {
+ path: '/listas',
+ name: 'listas',
// route level code-splitting
// this generates a separate chunk (About.[hash].js) for this route
// which is lazy-loaded when the route is visited.
- component: () => import('../views/AboutView.vue')
- }
+ component: () => import('../views/ListasView.vue'),
+ meta: { requiresAuth: true },
+ },
+ {
+ path: '/lista/:id',
+ name: 'lista',
+ component: () => import('../components/Lista.vue'),
+ meta: { requiresAuth: true }
+ },
+ {
+ path: '/:pathMatch(.*)*',
+ name: 'NotFound',
+ component: () => import('../components/404.vue')
+ },
]
})
+router.beforeEach((to) => {
+ // ✅ This will work because the router starts its navigation after
+ // the router is installed and pinia will be installed too
+ const storeUser = useUserStore()
+ console.log(storeUser.isValid)
+ if (to.meta.requiresAuth && !storeUser.isValid) return '/'
+})
+
export default router
diff --git a/src/stores/user.js b/src/stores/user.js
new file mode 100644
index 0000000..95f99fb
--- /dev/null
+++ b/src/stores/user.js
@@ -0,0 +1,9 @@
+import { ref, computed } from 'vue'
+import { defineStore } from 'pinia'
+
+export const useUserStore = defineStore('user', () => {
+ const user = ref()
+ const isValid = ref()
+
+ return { user, isValid }
+})
\ No newline at end of file
diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue
deleted file mode 100644
index 0e6c265..0000000
--- a/src/views/AboutView.vue
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- About Page Gooooo
- {{ storeCounter.count }}
-
- Go to Login
-
-
-
\ No newline at end of file
diff --git a/src/views/ListasView.vue b/src/views/ListasView.vue
new file mode 100644
index 0000000..364f773
--- /dev/null
+++ b/src/views/ListasView.vue
@@ -0,0 +1,51 @@
+
+
+
+
+ Las listas de {{ storeUser.user.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ lista.nombre }}
+
+
+
+
+
{{lista.descripcion}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/LoginView.vue b/src/views/LoginView.vue
index 2fbd250..c831bf7 100644
--- a/src/views/LoginView.vue
+++ b/src/views/LoginView.vue
@@ -1,64 +1,79 @@
-
-
-
-