feat: implementa landing page, inclui loading indicator e retorno para home
This commit is contained in:
@@ -4,6 +4,11 @@
|
||||
<div
|
||||
class="pointer-events-none absolute left-1/2 top-10 h-[420px] w-[min(92vw,760px)] -translate-x-1/2 rounded-[48px] bg-[radial-gradient(circle_at_20%_30%,rgba(232,184,196,0.58),transparent_28%),radial-gradient(circle_at_72%_24%,rgba(167,229,211,0.56),transparent_30%),radial-gradient(circle_at_52%_78%,rgba(244,197,168,0.5),transparent_34%)] blur-2xl"
|
||||
aria-hidden="true"></div>
|
||||
<NuxtLink to="/"
|
||||
class="absolute left-4 top-4 z-10 inline-flex h-10 items-center justify-center gap-2 rounded-full border border-[#d6d3d1] bg-white/80 px-4 text-[14px] font-medium leading-none text-[#0c0a09] shadow-[0_4px_16px_rgba(0,0,0,0.04)] backdrop-blur transition hover:border-[#0c0a09] md:left-8 md:top-8">
|
||||
<Icon name="mdi:arrow-left" class="text-base" />
|
||||
Início
|
||||
</NuxtLink>
|
||||
|
||||
<main
|
||||
class="relative grid w-full max-w-[1120px] grid-cols-1 items-center gap-8 md:grid-cols-[minmax(0,1fr)_minmax(340px,440px)] md:gap-16"
|
||||
|
||||
@@ -4,6 +4,11 @@
|
||||
<div
|
||||
class="pointer-events-none absolute left-1/2 top-10 h-[420px] w-[min(92vw,760px)] -translate-x-1/2 rounded-[48px] bg-[radial-gradient(circle_at_20%_30%,rgba(167,229,211,0.62),transparent_28%),radial-gradient(circle_at_72%_24%,rgba(244,197,168,0.56),transparent_30%),radial-gradient(circle_at_52%_78%,rgba(200,184,224,0.5),transparent_34%)] blur-2xl"
|
||||
aria-hidden="true"></div>
|
||||
<NuxtLink to="/"
|
||||
class="absolute left-4 top-4 z-10 inline-flex h-10 items-center justify-center gap-2 rounded-full border border-[#d6d3d1] bg-white/80 px-4 text-[14px] font-medium leading-none text-[#0c0a09] shadow-[0_4px_16px_rgba(0,0,0,0.04)] backdrop-blur transition hover:border-[#0c0a09] md:left-8 md:top-8">
|
||||
<Icon name="mdi:arrow-left" class="text-base" />
|
||||
Início
|
||||
</NuxtLink>
|
||||
|
||||
<main
|
||||
class="relative grid w-full max-w-[1120px] grid-cols-1 items-center gap-8 md:grid-cols-[minmax(0,1fr)_minmax(340px,420px)] md:gap-16"
|
||||
@@ -96,8 +101,8 @@ const toStr = (val) => (val == null ? '' : String(val))
|
||||
const schema = toTypedSchema(
|
||||
z.object({
|
||||
email: z.preprocess(toStr, z.string().min(1, 'Email é obrigatório').email('Email inválido')),
|
||||
password: z.preprocess(toStr, z.string().min(8, 'A senha deve ter no mínimo 8 caracteres')),
|
||||
}),
|
||||
password: z.preprocess(toStr, z.string().min(8, 'A senha deve ter no mínimo 8 caracteres'))
|
||||
})
|
||||
)
|
||||
|
||||
async function criarConta({ email, password }) {
|
||||
@@ -105,7 +110,7 @@ async function criarConta({ email, password }) {
|
||||
try {
|
||||
await $fetch('/auth/register', {
|
||||
method: 'POST',
|
||||
body: { email, password },
|
||||
body: { email, password }
|
||||
})
|
||||
|
||||
$toast.success('Conta criada com sucesso!', { duration: 8000 })
|
||||
|
||||
@@ -4,6 +4,11 @@
|
||||
<div
|
||||
class="pointer-events-none absolute left-1/2 top-10 h-[420px] w-[min(92vw,760px)] -translate-x-1/2 rounded-[48px] bg-[radial-gradient(circle_at_20%_30%,rgba(167,229,211,0.62),transparent_28%),radial-gradient(circle_at_72%_24%,rgba(244,197,168,0.56),transparent_30%),radial-gradient(circle_at_52%_78%,rgba(200,184,224,0.5),transparent_34%)] blur-2xl"
|
||||
aria-hidden="true"></div>
|
||||
<NuxtLink to="/"
|
||||
class="absolute left-4 top-4 z-10 inline-flex h-10 items-center justify-center gap-2 rounded-full border border-[#d6d3d1] bg-white/80 px-4 text-[14px] font-medium leading-none text-[#0c0a09] shadow-[0_4px_16px_rgba(0,0,0,0.04)] backdrop-blur transition hover:border-[#0c0a09] md:left-8 md:top-8">
|
||||
<Icon name="mdi:arrow-left" class="text-base" />
|
||||
Início
|
||||
</NuxtLink>
|
||||
<main
|
||||
class="relative grid w-full max-w-[1120px] grid-cols-1 items-center gap-8 md:grid-cols-[minmax(0,1fr)_minmax(340px,420px)] md:gap-16"
|
||||
aria-labelledby="create-account-title">
|
||||
|
||||
@@ -4,6 +4,11 @@
|
||||
<div
|
||||
class="pointer-events-none absolute left-1/2 top-10 h-[420px] w-[min(92vw,760px)] -translate-x-1/2 rounded-[48px] bg-[radial-gradient(circle_at_20%_30%,rgba(167,229,211,0.62),transparent_28%),radial-gradient(circle_at_72%_24%,rgba(168,200,232,0.56),transparent_30%),radial-gradient(circle_at_52%_78%,rgba(232,184,196,0.5),transparent_34%)] blur-2xl"
|
||||
aria-hidden="true"></div>
|
||||
<NuxtLink to="/"
|
||||
class="absolute left-4 top-4 z-10 inline-flex h-10 items-center justify-center gap-2 rounded-full border border-[#d6d3d1] bg-white/80 px-4 text-[14px] font-medium leading-none text-[#0c0a09] shadow-[0_4px_16px_rgba(0,0,0,0.04)] backdrop-blur transition hover:border-[#0c0a09] md:left-8 md:top-8">
|
||||
<Icon name="mdi:arrow-left" class="text-base" />
|
||||
Início
|
||||
</NuxtLink>
|
||||
|
||||
<main
|
||||
class="relative grid w-full max-w-[1120px] grid-cols-1 items-center gap-8 md:grid-cols-[minmax(0,1fr)_minmax(340px,440px)] md:gap-16"
|
||||
|
||||
Reference in New Issue
Block a user