import { Head, Link, router, useForm } from '@inertiajs/react'; import { FormErrors, controlClass } from '@/components/procurement'; import { Button } from '@/components/ui/button'; type Data = { name: string; phone: string | null; summary: string; availability: { province: string; district: string; locality: string }; }; export default function Profile({ companyId, email, profile, emailVerified = false, emailDeliveryAvailable = false, accessStatus, opportunities = [], submissions = [], }: { companyId: number; email: string; profile: { version: number; data: Data }; emailVerified?: boolean; emailDeliveryAvailable?: boolean; accessStatus?: string | null; opportunities?: { id: number; title: string; closes_on: string }[]; submissions?: { id: number; reference: string; created_at: string }[]; }) { const form = useForm({ version: profile.version, ...profile.data, phone: profile.data.phone ?? '', reason: '', }); return ( <>

Oportunidades publicadas

{opportunities.map((item) => (

{item.title} · {item.closes_on}

))}

As minhas candidaturas

{submissions.map((item) => (

{item.reference} · {item.created_at}

))}

SGC · Área do candidato

O meu perfil

{email} · versão {profile.version}

{emailVerified ? 'Email confirmado. A identidade ainda depende de verificação própria.' : 'Email ainda não confirmado. A entrada comprova apenas o acesso à conta.'}{' '} Pode candidatar-se às oportunidades publicadas. O envio de anexos ainda está em desenvolvimento.

{!emailVerified && ( )} {!emailVerified && !emailDeliveryAvailable && (

O envio de email ainda não está configurado; pode continuar a preparar o perfil.

)} {accessStatus === 'requested' && (

Se o envio estiver disponível, receberá uma ligação temporária de confirmação.

)}
{ e.preventDefault(); form.post(`/candidaturas/${companyId}/perfil`, { preserveScroll: true, preserveState: false, }); }} >