This commit is contained in:
2025-12-03 01:24:52 -03:00
parent 3a49b13cb9
commit 38c49ff370
21 changed files with 133 additions and 73 deletions

View File

@@ -37,6 +37,7 @@ export async function loader({ params, request, context }: Route.LoaderArgs) {
})
if (!r.ok) {
console.log(r.status)
throw new Response(null, { status: r.status })
}

View File

@@ -81,7 +81,7 @@ export default function Route({ loaderData }: Route.ComponentProps) {
<div className="ml-auto flex gap-2.5 items-center">
<Notification />
<ModeToggle />
<NavUser user={user} />
<NavUser user={user} excludeApps={['admin']} />
</div>
</div>
</header>

View File

@@ -56,9 +56,7 @@ export async function action({ request, context }: Route.ActionArgs) {
try {
const r = await fetch(issuerUrl.toString(), {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
headers: new Headers({ 'Content-Type': 'application/json' }),
body: JSON.stringify(formData)
})
@@ -88,10 +86,7 @@ export async function action({ request, context }: Route.ActionArgs) {
export default function Index({}: Route.ComponentProps) {
const [show, setShow] = useState(false)
const fetcher = useFetcher()
const form = useForm({
resolver: zodResolver(schema)
})
const form = useForm({ resolver: zodResolver(schema) })
const { control, handleSubmit, formState, setError } = form
const onSubmit = async (data: Schema) => {

View File

@@ -1,5 +1,6 @@
import type { Route } from '../+types'
import { useRequest } from 'ahooks'
import { PatternFormat } from 'react-number-format'
import { zodResolver } from '@hookform/resolvers/zod'
import { useState } from 'react'
@@ -31,6 +32,19 @@ export function meta({}: Route.MetaArgs) {
return [{ title: 'Criar conta · EDUSEG®' }]
}
export async function action({ request, context }: Route.ActionArgs) {
const issuerUrl = new URL('/register', context.cloudflare.env.ISSUER_URL)
const body = await request.json()
const r = await fetch(issuerUrl.toString(), {
method: 'POST',
headers: new Headers({ 'Content-Type': 'application/json' }),
body: JSON.stringify(body)
})
console.log(await r.json())
}
export default function Signup({}: Route.ComponentProps) {
const [show, setShow] = useState(false)
const [user, setUser] = useState<User | null>(null)
@@ -38,13 +52,21 @@ export default function Signup({}: Route.ComponentProps) {
resolver: zodResolver(formSchema)
})
const { control, handleSubmit, formState } = form
const { runAsync } = useRequest(
async (user) => {
return await fetch(`/register`, {
method: 'POST',
headers: new Headers({ 'Content-Type': 'application/json' }),
body: JSON.stringify(user)
})
},
{ manual: true }
)
const onSubmit = async (data: Schema) => {
console.log(data)
await runAsync({ ...user, ...data })
}
console.log(user)
return (
<RegisterContext value={{ user, setUser }}>
{user ? (

View File

@@ -6,6 +6,7 @@
],
"compilerOptions": {
"checkJs": true,
"moduleResolution": "bundler",
"verbatimModuleSyntax": true,
"skipLibCheck": true,
"strict": true,

View File

@@ -48,7 +48,7 @@ export default function Route({ loaderData }: Route.ComponentProps) {
<div className="ml-auto flex gap-2.5 items-center">
<ModeToggle />
<NavUser user={user} />
<NavUser user={user} excludeApps={['insights']} />
</div>
</div>
</header>

View File

@@ -176,10 +176,22 @@ function List({ s, hits = [] }: { s: string; hits: Enrollment[] }) {
<EmptyMedia variant="icon">
<BanIcon />
</EmptyMedia>
<EmptyTitle>Nada encontrado</EmptyTitle>
<EmptyDescription>
Nenhum resultado para <mark>{s}</mark>.
</EmptyDescription>
{s ? (
<>
<EmptyTitle>Nada encontrado</EmptyTitle>
<EmptyDescription>
Nenhum resultado para <mark>{s}</mark>.
</EmptyDescription>
</>
) : (
<>
<EmptyTitle>Nenhum curso ainda</EmptyTitle>
<EmptyDescription>
Comece escolhendo um curso. Assim que você se matricular, ele
aparecerá aqui.
</EmptyDescription>
</>
)}
</EmptyHeader>
</Empty>
)

View File

@@ -141,7 +141,7 @@ export default function Component({
<div className="ml-auto flex gap-2.5 items-center">
<ModeToggle />
<NavUser user={user} />
<NavUser user={user} excludeApps={['saladeaula']} />
</div>
</div>
</header>

View File

@@ -32,7 +32,7 @@ export default function Component({ loaderData }: Route.ComponentProps) {
<div className="ml-auto flex gap-2.5 items-center">
<ModeToggle />
<NavUser user={user} />
<NavUser user={user} excludeApps={['studio']} />
</div>
</div>
</header>