login redirecionando pra home e acessando home se tiver logado
This commit is contained in:
7
app/middleware/auth.ts
Normal file
7
app/middleware/auth.ts
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
export default defineNuxtRouteMiddleware(() => {
|
||||||
|
const token = useCookie('token')
|
||||||
|
|
||||||
|
if (!token.value) {
|
||||||
|
return navigateTo('/login')
|
||||||
|
}
|
||||||
|
})
|
||||||
@@ -107,6 +107,7 @@ async function criarConta({ email, password }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$toast.success('Conta criada com sucesso!')
|
$toast.success('Conta criada com sucesso!')
|
||||||
|
await navigateTo('/login')
|
||||||
} catch {
|
} catch {
|
||||||
$toast.error('Erro ao criar conta. Tente novamente.')
|
$toast.error('Erro ao criar conta. Tente novamente.')
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
11
app/pages/(auth)/home/index.vue
Normal file
11
app/pages/(auth)/home/index.vue
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<h1>OOOIII SOU A HOMEEE</h1>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
definePageMeta({
|
||||||
|
middleware: 'auth'
|
||||||
|
})
|
||||||
|
</script>
|
||||||
@@ -95,17 +95,26 @@
|
|||||||
try {
|
try {
|
||||||
const res = await fetch('/auth/login', {
|
const res = await fetch('/auth/login', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
body: JSON.stringify({ email, password }),
|
body: JSON.stringify({ email, password }),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const data = await res.json()
|
||||||
|
|
||||||
if (!res.ok) {
|
if (!res.ok) {
|
||||||
const data = await res.json().catch(() => ({}))
|
const data = await res.json().catch(() => ({}))
|
||||||
$toast.error(data.message ?? 'Erro para efetuar o login. Tente novamente.')
|
$toast.error(data.message ?? 'Erro para efetuar o login. Tente novamente.')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const token = useCookie('token')
|
||||||
|
if(data) token.value = data.access_token
|
||||||
|
|
||||||
$toast.success('Login realizado com sucesso!')
|
$toast.success('Login realizado com sucesso!')
|
||||||
|
|
||||||
|
await navigateTo('/home')
|
||||||
} catch {
|
} catch {
|
||||||
$toast.error('Erro para efetuar o login. Tente novamente.')
|
$toast.error('Erro para efetuar o login. Tente novamente.')
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
Reference in New Issue
Block a user