forked from RiseUP/riseup-squad20
Merge pull request 'feat: add medical page' (#4) from feature/crud-medico into develop
Reviewed-on: RiseUP/riseup-squad20#4
This commit is contained in:
commit
6ca8524e3e
435
susconecta/app/profissional/page.tsx
Normal file
435
susconecta/app/profissional/page.tsx
Normal file
@ -0,0 +1,435 @@
|
||||
"use client";
|
||||
|
||||
import React, { useState } from "react";
|
||||
import Link from "next/link";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Input } from "@/components/ui/input";
|
||||
import { Label } from "@/components/ui/label";
|
||||
import { Textarea } from "@/components/ui/textarea";
|
||||
import {
|
||||
Table,
|
||||
TableBody,
|
||||
TableCell,
|
||||
TableHead,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
} from "@/components/ui/table";
|
||||
import {
|
||||
Select,
|
||||
SelectContent,
|
||||
SelectItem,
|
||||
SelectTrigger,
|
||||
SelectValue,
|
||||
} from "@/components/ui/select";
|
||||
import { Avatar, AvatarImage, AvatarFallback } from "@/components/ui/avatar"
|
||||
import { User, FolderOpen, X, Users, MessageSquare, ClipboardList } from "lucide-react"
|
||||
import { Calendar as CalendarIcon, FileText, Settings } from "lucide-react";
|
||||
import {
|
||||
Tooltip,
|
||||
TooltipContent,
|
||||
TooltipProvider,
|
||||
TooltipTrigger,
|
||||
} from "@/components/ui/tooltip";
|
||||
|
||||
const pacientes = [
|
||||
{ nome: "Ana Souza", cpf: "123.456.789-00", idade: 42, statusLaudo: "Finalizado" },
|
||||
{ nome: "Bruno Lima", cpf: "987.654.321-00", idade: 33, statusLaudo: "Pendente" },
|
||||
{ nome: "Carla Menezes", cpf: "111.222.333-44", idade: 67, statusLaudo: "Rascunho" },
|
||||
];
|
||||
|
||||
const medico = {
|
||||
nome: "Dr. Carlos Andrade",
|
||||
identificacao: "CRM 000000 • Cardiologia",
|
||||
fotoUrl: "",
|
||||
}
|
||||
|
||||
const ProfissionalPage = () => {
|
||||
const [pacienteSelecionado, setPacienteSelecionado] = useState<any>(null);
|
||||
|
||||
const handleSave = (event: React.MouseEvent<HTMLButtonElement>) => {
|
||||
event.preventDefault();
|
||||
console.log("Laudo salvo!");
|
||||
window.scrollTo({ top: 0, behavior: "smooth" });
|
||||
};
|
||||
|
||||
const handleSmoothScroll = (event: React.MouseEvent<HTMLAnchorElement>, targetId: string) => {
|
||||
event.preventDefault();
|
||||
const element = document.getElementById(targetId);
|
||||
if (element) {
|
||||
element.scrollIntoView({
|
||||
behavior: 'smooth',
|
||||
block: 'start'
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const handleAbrirProntuario = (paciente: any) => {
|
||||
setPacienteSelecionado(paciente);
|
||||
|
||||
// Preencher campos da seção Gestão de Laudos
|
||||
const pacienteLaudo = document.getElementById('pacienteLaudo') as HTMLInputElement;
|
||||
|
||||
if (pacienteLaudo) pacienteLaudo.value = paciente.nome;
|
||||
|
||||
// Preencher campos da seção Comunicação com o Paciente
|
||||
const destinatario = document.getElementById('destinatario') as HTMLInputElement;
|
||||
|
||||
if (destinatario) destinatario.value = `${paciente.nome} - ${paciente.cpf}`;
|
||||
|
||||
// Rolar para a seção do prontuário
|
||||
const prontuarioSection = document.getElementById('prontuario-paciente');
|
||||
if (prontuarioSection) {
|
||||
prontuarioSection.scrollIntoView({ behavior: 'smooth' });
|
||||
}
|
||||
};
|
||||
|
||||
const handleFecharProntuario = () => {
|
||||
setPacienteSelecionado(null);
|
||||
};
|
||||
|
||||
return (
|
||||
<TooltipProvider>
|
||||
<div className="container mx-auto px-4 py-8">
|
||||
<header className="bg-white shadow-md rounded-lg p-4 mb-6 flex items-center gap-4">
|
||||
<Avatar className="h-12 w-12">
|
||||
<AvatarImage src={medico.fotoUrl} alt={medico.nome} />
|
||||
<AvatarFallback className="bg-muted">
|
||||
<User className="h-5 w-5" />
|
||||
</AvatarFallback>
|
||||
</Avatar>
|
||||
<div className="min-w-0">
|
||||
<p className="text-sm text-muted-foreground truncate">Conta do profissional</p>
|
||||
<h2 className="text-lg font-semibold leading-none truncate">{medico.nome}</h2>
|
||||
<p className="text-sm text-muted-foreground truncate">{medico.identificacao}</p>
|
||||
</div>
|
||||
</header>
|
||||
<div className="grid grid-cols-1 md:grid-cols-[220px_1fr] gap-6">
|
||||
{/* Sidebar */}
|
||||
<aside className="md:sticky md:top-8 h-fit">
|
||||
<nav className="bg-white shadow-md rounded-lg p-3 space-y-1">
|
||||
<Button asChild variant="ghost" className="w-full justify-start hover:bg-primary hover:text-primary-foreground">
|
||||
<a
|
||||
href="#calendario"
|
||||
onClick={(e) => handleSmoothScroll(e, 'calendario')}
|
||||
className="flex items-center"
|
||||
>
|
||||
<CalendarIcon className="mr-2 h-4 w-4" />
|
||||
Calendário
|
||||
</a>
|
||||
</Button>
|
||||
<Button asChild variant="ghost" className="w-full justify-start hover:bg-primary hover:text-primary-foreground">
|
||||
<a
|
||||
href="#gerenciamento-pacientes"
|
||||
onClick={(e) => handleSmoothScroll(e, 'gerenciamento-pacientes')}
|
||||
className="flex items-center"
|
||||
>
|
||||
<Users className="mr-2 h-4 w-4" />
|
||||
Pacientes
|
||||
</a>
|
||||
</Button>
|
||||
<Button asChild variant="ghost" className="w-full justify-start hover:bg-primary hover:text-primary-foreground">
|
||||
<a
|
||||
href="#prontuario-paciente"
|
||||
onClick={(e) => handleSmoothScroll(e, 'prontuario-paciente')}
|
||||
className="flex items-center"
|
||||
>
|
||||
<ClipboardList className="mr-2 h-4 w-4" />
|
||||
Prontuário
|
||||
</a>
|
||||
</Button>
|
||||
<Button asChild variant="ghost" className="w-full justify-start hover:bg-primary hover:text-primary-foreground">
|
||||
<a
|
||||
href="#gestao-laudos"
|
||||
onClick={(e) => handleSmoothScroll(e, 'gestao-laudos')}
|
||||
className="flex items-center"
|
||||
>
|
||||
<FileText className="mr-2 h-4 w-4" />
|
||||
Laudos
|
||||
</a>
|
||||
</Button>
|
||||
<Button asChild variant="ghost" className="w-full justify-start hover:bg-primary hover:text-primary-foreground">
|
||||
<a
|
||||
href="#comunicacao-paciente"
|
||||
onClick={(e) => handleSmoothScroll(e, 'comunicacao-paciente')}
|
||||
className="flex items-center"
|
||||
>
|
||||
<MessageSquare className="mr-2 h-4 w-4" />
|
||||
Comunicação
|
||||
</a>
|
||||
</Button>
|
||||
<Button variant="ghost" className="w-full justify-start cursor-pointer hover:bg-primary hover:text-primary-foreground">
|
||||
<Settings className="mr-2 h-4 w-4" />
|
||||
Meu Perfil
|
||||
</Button>
|
||||
</nav>
|
||||
</aside>
|
||||
|
||||
|
||||
<main>
|
||||
<div className="flex justify-between items-center mb-4">
|
||||
<h1 className="text-3xl font-bold">Área do Profissional de Saúde</h1>
|
||||
<Button asChild>
|
||||
<Link href="/">Início</Link>
|
||||
</Button>
|
||||
</div>
|
||||
<p className="mb-8">Bem-vindo à sua área exclusiva.</p>
|
||||
|
||||
<section id="calendario" className="bg-white shadow-md rounded-lg p-6 mb-8">
|
||||
<h2 className="text-2xl font-bold mb-4">Calendário</h2>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
Seção do calendário (integração pode ser adicionada depois).
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<div id="gerenciamento-pacientes" className="bg-white shadow-md rounded-lg p-6 mb-8">
|
||||
<h2 className="text-2xl font-bold mb-4">Gerenciamento de Pacientes</h2>
|
||||
<Table>
|
||||
<TableHeader>
|
||||
<TableRow>
|
||||
<TableHead>Paciente</TableHead>
|
||||
<TableHead>CPF</TableHead>
|
||||
<TableHead>Idade</TableHead>
|
||||
<TableHead>Status do laudo</TableHead>
|
||||
<TableHead>Ações</TableHead>
|
||||
</TableRow>
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
{pacientes.map((paciente) => (
|
||||
<TableRow key={paciente.cpf}>
|
||||
<TableCell className="font-medium">{paciente.nome}</TableCell>
|
||||
<TableCell>{paciente.cpf}</TableCell>
|
||||
<TableCell>{paciente.idade}</TableCell>
|
||||
<TableCell>{paciente.statusLaudo}</TableCell>
|
||||
<TableCell>
|
||||
<div className="flex items-center gap-2">
|
||||
<Tooltip>
|
||||
<TooltipTrigger asChild>
|
||||
<Button
|
||||
variant="outline"
|
||||
size="sm"
|
||||
className="border-primary text-primary hover:bg-primary hover:text-white cursor-pointer"
|
||||
onClick={() => handleAbrirProntuario(paciente)}
|
||||
>
|
||||
<FolderOpen className="h-4 w-4" />
|
||||
</Button>
|
||||
</TooltipTrigger>
|
||||
<TooltipContent>
|
||||
<p>Detalhes do Paciente</p>
|
||||
</TooltipContent>
|
||||
</Tooltip>
|
||||
</div>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
))}
|
||||
</TableBody>
|
||||
</Table>
|
||||
</div>
|
||||
|
||||
<div id="prontuario-paciente" className="bg-white shadow-md rounded-lg p-6 mb-8">
|
||||
<h2 className="text-2xl font-bold mb-4">Prontuário do Paciente</h2>
|
||||
{pacienteSelecionado && (
|
||||
<div className="bg-primary/10 border border-primary/20 rounded-lg p-4 mb-6">
|
||||
<div className="flex justify-between items-center mb-2">
|
||||
<h3 className="font-semibold text-primary">Dados do Paciente</h3>
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="sm"
|
||||
onClick={handleFecharProntuario}
|
||||
className="text-primary hover:text-primary hover:bg-primary/10 h-6 w-6 p-0"
|
||||
>
|
||||
<X className="h-4 w-4" />
|
||||
</Button>
|
||||
</div>
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-4 text-sm">
|
||||
<div>
|
||||
<span className="font-medium text-primary">Nome:</span>
|
||||
<p className="text-primary/80">{pacienteSelecionado.nome}</p>
|
||||
</div>
|
||||
<div>
|
||||
<span className="font-medium text-primary">CPF:</span>
|
||||
<p className="text-primary/80">{pacienteSelecionado.cpf}</p>
|
||||
</div>
|
||||
<div>
|
||||
<span className="font-medium text-primary">Idade:</span>
|
||||
<p className="text-primary/80">{pacienteSelecionado.idade} anos</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
<div className="space-y-6">
|
||||
<div>
|
||||
<Label htmlFor="dataConsulta">Data da consulta</Label>
|
||||
<p id="dataConsulta" className="text-sm text-muted-foreground">
|
||||
03/09/2025
|
||||
</p>
|
||||
</div>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="cid10">CID-10</Label>
|
||||
<Input id="cid10" placeholder="Insira o código CID-10" />
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="retornoAgendado">Retorno Agendado</Label>
|
||||
<Input id="retornoAgendado" type="date" />
|
||||
</div>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="anamnese">Anamnese</Label>
|
||||
<Textarea id="anamnese" placeholder="Descreva a anamnese do paciente" />
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="exameFisico">Exame Físico</Label>
|
||||
<Textarea id="exameFisico" placeholder="Descreva o exame físico" />
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="hipoteses">Hipóteses Diagnósticas</Label>
|
||||
<Textarea id="hipoteses" placeholder="Liste as hipóteses diagnósticas" />
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="conduta">Conduta Médica</Label>
|
||||
<Textarea id="conduta" placeholder="Descreva a conduta médica" />
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="prescricoes">Prescrições</Label>
|
||||
<Textarea id="prescricoes" placeholder="Insira as prescrições" />
|
||||
</div>
|
||||
<div className="flex justify-end">
|
||||
<Button onClick={handleSave}>Salvar Informações</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section id="gestao-laudos" className="bg-white shadow-md rounded-lg p-6 mb-8">
|
||||
<h2 className="text-2xl font-bold mb-4">Gestão de Laudos</h2>
|
||||
<div className="space-y-6">
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="tipoLaudo">Tipo de laudo</Label>
|
||||
<Select name="tipoLaudo">
|
||||
<SelectTrigger id="tipoLaudo" className="hover:border-primary focus:border-primary cursor-pointer">
|
||||
<SelectValue placeholder="Selecione o tipo de laudo" />
|
||||
</SelectTrigger>
|
||||
<SelectContent className="bg-white border border-gray-200 ">
|
||||
<SelectItem value="exame-sangue" className="hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground cursor-pointer">Exame de Sangue</SelectItem>
|
||||
<SelectItem value="raio-x" className="hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground cursor-pointer">Raio‑X</SelectItem>
|
||||
<SelectItem value="ultrassom" className="hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground cursor-pointer">Ultrassom</SelectItem>
|
||||
<SelectItem value="tomografia" className="hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground cursor-pointer">Tomografia</SelectItem>
|
||||
<SelectItem value="ressonancia" className="hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground cursor-pointer">Ressonância</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="pacienteLaudo">Paciente</Label>
|
||||
<Input
|
||||
id="pacienteLaudo"
|
||||
placeholder="Nome do Paciente"
|
||||
disabled
|
||||
className="bg-muted cursor-not-allowed text-gray-700 disabled:text-gray-900"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||
<div>
|
||||
<Label htmlFor="medicoResponsavel">Médico Responsável</Label>
|
||||
<p id="medicoResponsavel" className="text-sm text-muted-foreground">
|
||||
Dr. Carlos Andrade
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<Label htmlFor="dataEmissao">Data de emissão</Label>
|
||||
<p id="dataEmissao" className="text-sm text-muted-foreground">
|
||||
03/09/2025
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="conteudoLaudo">Conteúdo do Laudo</Label>
|
||||
<Textarea
|
||||
id="conteudoLaudo"
|
||||
placeholder="Insira o conteúdo detalhado do laudo"
|
||||
rows={8}
|
||||
/>
|
||||
</div>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="status">Status</Label>
|
||||
<Select>
|
||||
<SelectTrigger id="status" className="hover:border-primary focus:border-primary cursor-pointer">
|
||||
<SelectValue placeholder="Selecione o status" />
|
||||
</SelectTrigger>
|
||||
<SelectContent className="bg-white border border-gray-200">
|
||||
<SelectItem value="rascunho" className="hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground cursor-pointer">Rascunho</SelectItem>
|
||||
<SelectItem value="finalizado" className="hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground cursor-pointer">Finalizado</SelectItem>
|
||||
<SelectItem value="pendente" className="hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground cursor-pointer">Pendente</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="assinatura">Assinatura digital (CRM)</Label>
|
||||
<Input id="assinatura" placeholder="Insira seu CRM para assinar" />
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex justify-end mt-6">
|
||||
<Button onClick={handleSave}>Salvar Laudo</Button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div id="comunicacao-paciente" className="bg-white shadow-md rounded-lg p-6 mb-8">
|
||||
<h2 className="text-2xl font-bold mb-4">Comunicação com o Paciente</h2>
|
||||
<div className="space-y-6">
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="destinatario">Destinatário</Label>
|
||||
<Input
|
||||
id="destinatario"
|
||||
placeholder="Nome do Paciente ou CPF"
|
||||
disabled
|
||||
className="bg-muted cursor-not-allowed text-gray-700 disabled:text-gray-900"
|
||||
/>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="tipoMensagem">Tipo de mensagem</Label>
|
||||
<Select>
|
||||
<SelectTrigger id="tipoMensagem" className="hover:border-primary focus:border-primary cursor-pointer">
|
||||
<SelectValue placeholder="Selecione o tipo" />
|
||||
</SelectTrigger>
|
||||
<SelectContent className="bg-white border border-gray-200">
|
||||
<SelectItem value="lembrete" className="hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground cursor-pointer">Lembrete de Consulta</SelectItem>
|
||||
<SelectItem value="resultado" className="hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground cursor-pointer">Resultado de Exame</SelectItem>
|
||||
<SelectItem value="instrucao" className="hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground cursor-pointer">Instruções Pós-Consulta</SelectItem>
|
||||
<SelectItem value="outro" className="hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground cursor-pointer">Outro</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
</div>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||
<div>
|
||||
<Label htmlFor="dataEnvio">Data de envio</Label>
|
||||
<p id="dataEnvio" className="text-sm text-muted-foreground">03/09/2025</p>
|
||||
</div>
|
||||
<div>
|
||||
<Label htmlFor="statusEntrega">Status da entrega</Label>
|
||||
<p id="statusEntrega" className="text-sm text-muted-foreground">Pendente</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label>Resposta do paciente</Label>
|
||||
<div className="border rounded-md p-3 bg-muted/40 space-y-2">
|
||||
<p className="text-sm">"Ok, obrigado pelo lembrete!"</p>
|
||||
<p className="text-xs text-muted-foreground">03/09/2025 14:30</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex justify-end mt-6">
|
||||
<Button onClick={handleSave}>Registrar Comunicação</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</TooltipProvider>
|
||||
);
|
||||
};
|
||||
|
||||
export default ProfissionalPage;
|
||||
@ -40,19 +40,15 @@ export function Header() {
|
||||
>
|
||||
Sou Paciente
|
||||
</Button>
|
||||
<Link href="/dashboard">
|
||||
<Button className="bg-primary hover:bg-primary/90 text-primary-foreground">
|
||||
Sou Profissional de Saúde
|
||||
<Button asChild className="bg-primary hover:bg-primary/90 text-primary-foreground">
|
||||
<Link href="/profissional">Sou Profissional de Saúde</Link>
|
||||
</Button>
|
||||
</Link>
|
||||
<Link href="/dashboard">
|
||||
<Button
|
||||
variant="outline"
|
||||
className="text-slate-700 border-slate-600 hover:bg-slate-700 hover:text-white bg-transparent"
|
||||
>
|
||||
Sou Administrador de uma Clínica
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
{/* Mobile Menu Button */}
|
||||
@ -86,19 +82,15 @@ export function Header() {
|
||||
>
|
||||
Sou Paciente
|
||||
</Button>
|
||||
<Link href="/dashboard">
|
||||
<Button className="bg-primary hover:bg-primary/90 text-primary-foreground w-full">
|
||||
Sou Profissional de Saúde
|
||||
<Button asChild className="bg-primary hover:bg-primary/90 text-primary-foreground">
|
||||
<Link href="/profissional" onClick={() => setIsMenuOpen(false)}>Sou Profissional de Saúde</Link>
|
||||
</Button>
|
||||
</Link>
|
||||
<Link href="/dashboard">
|
||||
<Button
|
||||
variant="outline"
|
||||
className="text-slate-700 border-slate-600 hover:bg-slate-700 hover:text-white bg-transparent w-full"
|
||||
className="text-slate-700 border-slate-600 hover:bg-slate-700 hover:text-white bg-transparent"
|
||||
>
|
||||
Sou Administrador de uma Clínica
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Shield, Clock, Users } from "lucide-react"
|
||||
import Link from "next/link"
|
||||
|
||||
export function HeroSection() {
|
||||
return (
|
||||
@ -32,7 +33,7 @@ export function HeroSection() {
|
||||
variant="outline"
|
||||
className="text-primary border-primary hover:bg-primary hover:text-primary-foreground bg-transparent"
|
||||
>
|
||||
Sou Profissional de Saúde
|
||||
<Link href="/profissional">Sou Profissional de Saúde</Link>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
15
susconecta/package-lock.json
generated
15
susconecta/package-lock.json
generated
@ -2465,7 +2465,7 @@
|
||||
"version": "19.1.12",
|
||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.12.tgz",
|
||||
"integrity": "sha512-cMoR+FoAf/Jyq6+Df2/Z41jISvGZZ2eTlnsaJRptmZ76Caldwy1odD4xTr/gNV9VLj0AWgg/nmkevIyUfIIq5w==",
|
||||
"dev": true,
|
||||
"devOptional": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"csstype": "^3.0.2"
|
||||
@ -2475,7 +2475,7 @@
|
||||
"version": "19.1.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.9.tgz",
|
||||
"integrity": "sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ==",
|
||||
"dev": true,
|
||||
"devOptional": true,
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"@types/react": "^19.0.0"
|
||||
@ -2722,7 +2722,7 @@
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
|
||||
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
|
||||
"dev": true,
|
||||
"devOptional": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/d3-array": {
|
||||
@ -3473,7 +3473,6 @@
|
||||
"version": "8.5.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@ -3562,6 +3561,13 @@
|
||||
"react": "^16.8.0 || ^17 || ^18 || ^19"
|
||||
}
|
||||
},
|
||||
"node_modules/react-is": {
|
||||
"version": "19.1.1",
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.1.1.tgz",
|
||||
"integrity": "sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/react-redux": {
|
||||
"version": "9.2.0",
|
||||
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz",
|
||||
@ -3851,7 +3857,6 @@
|
||||
"version": "4.1.12",
|
||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.12.tgz",
|
||||
"integrity": "sha512-DzFtxOi+7NsFf7DBtI3BJsynR+0Yp6etH+nRPTbpWnS2pZBaSksv/JGctNwSWzbFjp0vxSqknaUylseZqMDGrA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/tailwindcss-animate": {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user