diff --git a/app/middleware/auth.ts b/app/middleware/auth.ts
new file mode 100644
index 0000000..0e49242
--- /dev/null
+++ b/app/middleware/auth.ts
@@ -0,0 +1,7 @@
+export default defineNuxtRouteMiddleware(() => {
+ const token = useCookie('token')
+
+ if (!token.value) {
+ return navigateTo('/login')
+ }
+})
\ No newline at end of file
diff --git a/app/pages/(auth)/criar-conta/index.vue b/app/pages/(auth)/criar-conta/index.vue
index a746079..bef60f4 100644
--- a/app/pages/(auth)/criar-conta/index.vue
+++ b/app/pages/(auth)/criar-conta/index.vue
@@ -107,6 +107,7 @@ async function criarConta({ email, password }) {
}
$toast.success('Conta criada com sucesso!')
+ await navigateTo('/login')
} catch {
$toast.error('Erro ao criar conta. Tente novamente.')
} finally {
diff --git a/app/pages/(auth)/home/index.vue b/app/pages/(auth)/home/index.vue
new file mode 100644
index 0000000..88b9d97
--- /dev/null
+++ b/app/pages/(auth)/home/index.vue
@@ -0,0 +1,11 @@
+
+
+
OOOIII SOU A HOMEEE
+
+
+
+
\ No newline at end of file
diff --git a/app/pages/(auth)/login/index.vue b/app/pages/(auth)/login/index.vue
index 55127e5..772805b 100644
--- a/app/pages/(auth)/login/index.vue
+++ b/app/pages/(auth)/login/index.vue
@@ -94,18 +94,27 @@
isLoading.value = true
try {
const res = await fetch('/auth/login', {
- method: 'POST',
- headers: { 'Content-Type': 'application/json' },
- body: JSON.stringify({ email, password }),
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ body: JSON.stringify({ email, password }),
})
+ const data = await res.json()
+
if (!res.ok) {
- const data = await res.json().catch(() => ({}))
- $toast.error(data.message ?? 'Erro para efetuar o login. Tente novamente.')
- return
+ const data = await res.json().catch(() => ({}))
+ $toast.error(data.message ?? 'Erro para efetuar o login. Tente novamente.')
+ return
}
+ const token = useCookie('token')
+ if(data) token.value = data.access_token
+
$toast.success('Login realizado com sucesso!')
+
+ await navigateTo('/home')
} catch {
$toast.error('Erro para efetuar o login. Tente novamente.')
} finally {