develop #83

Merged
M-Gabrielly merged 426 commits from develop into main 2025-12-04 04:13:15 +00:00
2 changed files with 126 additions and 37 deletions
Showing only changes of commit 37f406995d - Show all commits

View File

@ -884,7 +884,7 @@ const ProfissionalPage = () => {
<div className="flex justify-between items-center"> <div className="flex justify-between items-center">
<h3 className="text-lg font-semibold">Registrar Nova Consulta</h3> <h3 className="text-lg font-semibold">Registrar Nova Consulta</h3>
<div className="flex gap-2"> <div className="flex gap-2">
<Button className="cursor-pointer" variant="outline" onClick={() => { <Button className="cursor-pointer hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground" variant="outline" onClick={() => {
setConsultaAtual({ setConsultaAtual({
dataConsulta: new Date().toISOString().split('T')[0], dataConsulta: new Date().toISOString().split('T')[0],
anamnese: "", anamnese: "",
@ -1305,8 +1305,8 @@ const ProfissionalPage = () => {
<div className="flex justify-between items-center p-3 bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-700 rounded"> <div className="flex justify-between items-center p-3 bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-700 rounded">
<div> <div>
<p className="font-medium text-foreground">Glicemia de Jejum</p> <p className="font-medium text-foreground">Glicemia de Jejum</p>
<p className="text-sm text-muted-foreground">Realizado em 20/09/2025</p> <p className="text-sm text-gray-600 dark:text-muted-foreground">Realizado em 20/09/2025</p>
<p className="text-sm font-medium text-green-700 dark:text-green-400">Resultado: 95 mg/dL (Normal)</p> <p className="text-sm font-bold" style={{ color: '#000000' }}>Resultado: 95 mg/dL (Normal)</p>
</div> </div>
<div className="flex gap-2"> <div className="flex gap-2">
<Button variant="outline" size="sm" className="cursor-pointer hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground"> <Button variant="outline" size="sm" className="cursor-pointer hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">
@ -1449,11 +1449,11 @@ const ProfissionalPage = () => {
</div> </div>
</div> </div>
<div className="flex gap-2"> <div className="flex gap-2">
<Button variant="outline" size="sm" className="flex-1 cursor-pointer"> <Button variant="outline" size="sm" className="flex-1 cursor-pointer hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">
<Eye className="h-3 w-3 mr-1" /> <Eye className="h-3 w-3 mr-1" />
Visualizar Visualizar
</Button> </Button>
<Button variant="outline" size="sm" className="flex-1 cursor-pointer"> <Button variant="outline" size="sm" className="flex-1 cursor-pointer hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">
<Download className="h-3 w-3 mr-1" /> <Download className="h-3 w-3 mr-1" />
Download Download
</Button> </Button>
@ -1471,11 +1471,11 @@ const ProfissionalPage = () => {
</div> </div>
</div> </div>
<div className="flex gap-2"> <div className="flex gap-2">
<Button variant="outline" size="sm" className="flex-1 cursor-pointer"> <Button variant="outline" size="sm" className="flex-1 cursor-pointer hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">
<Eye className="h-3 w-3 mr-1" /> <Eye className="h-3 w-3 mr-1" />
Visualizar Visualizar
</Button> </Button>
<Button variant="outline" size="sm" className="flex-1 cursor-pointer"> <Button variant="outline" size="sm" className="flex-1 cursor-pointer hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">
<Download className="h-3 w-3 mr-1" /> <Download className="h-3 w-3 mr-1" />
Download Download
</Button> </Button>
@ -1759,24 +1759,24 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
</div> </div>
<div className="flex gap-2"> <div className="flex gap-2">
<Button variant="outline" size="sm">Hoje</Button> <Button variant="outline" size="sm" className="hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">Hoje</Button>
<Button variant="outline" size="sm">Semana</Button> <Button variant="outline" size="sm" className="hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">Semana</Button>
<Button variant="default" size="sm">Mês</Button> <Button variant="default" size="sm" className="hover:bg-blue-600 dark:hover:bg-primary/90">Mês</Button>
</div> </div>
<Button variant="outline" size="sm"> <Button variant="outline" size="sm" className="hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">
<svg className="w-4 h-4 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <svg className="w-4 h-4 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.207A1 1 0 013 6.5V4z" /> <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.207A1 1 0 013 6.5V4z" />
</svg> </svg>
Filtros Filtros
</Button> </Button>
<Button variant="outline" size="sm"> <Button variant="outline" size="sm" className="hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">
<Search className="w-4 h-4 mr-1" /> <Search className="w-4 h-4 mr-1" />
Pesquisar Pesquisar
</Button> </Button>
<Button variant="default" size="sm"> <Button variant="default" size="sm" className="hover:bg-blue-600 dark:hover:bg-primary/90">
<Download className="w-4 h-4 mr-1" /> <Download className="w-4 h-4 mr-1" />
Exportar Exportar
</Button> </Button>
@ -1950,15 +1950,15 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
{/* Diagnóstico e Conclusão */} {/* Diagnóstico e Conclusão */}
{laudo.diagnostico && ( {laudo.diagnostico && (
<div className="mb-4 p-3 bg-blue-50 dark:bg-blue-950/20 rounded"> <div className="mb-4 p-3 bg-blue-50 dark:bg-blue-950/20 rounded">
<h4 className="font-semibold text-blue-800 dark:text-blue-200 mb-1">Diagnóstico:</h4> <h4 className="font-semibold mb-1" style={{ color: '#EF4444' }}>Diagnóstico:</h4>
<p className="text-sm">{laudo.diagnostico}</p> <p className="text-sm font-bold" style={{ color: '#EF4444' }}>{laudo.diagnostico}</p>
</div> </div>
)} )}
{laudo.conclusao && ( {laudo.conclusao && (
<div className="mb-6 p-3 bg-green-50 dark:bg-green-950/20 rounded"> <div className="mb-6 p-3 bg-green-50 dark:bg-green-950/20 rounded">
<h4 className="font-semibold text-green-800 dark:text-green-200 mb-1">Conclusão:</h4> <h4 className="font-semibold mb-1" style={{ color: '#EF4444' }}>Conclusão:</h4>
<p className="text-sm">{laudo.conclusao}</p> <p className="text-sm font-bold" style={{ color: '#EF4444' }}>{laudo.conclusao}</p>
</div> </div>
)} )}
@ -2171,8 +2171,23 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
className={`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${ className={`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${
activeTab === "info" activeTab === "info"
? "border-blue-500 text-blue-600" ? "border-blue-500 text-blue-600"
: "border-transparent text-muted-foreground hover:text-foreground" : "border-transparent text-gray-600 dark:text-muted-foreground dark:hover:text-foreground dark:hover:bg-blue-900"
}`} }`}
style={{
backgroundColor: activeTab === "info" ? undefined : "transparent"
}}
onMouseEnter={(e) => {
if (activeTab !== "info") {
e.currentTarget.style.backgroundColor = "transparent";
e.currentTarget.style.color = "#4B5563";
}
}}
onMouseLeave={(e) => {
if (activeTab !== "info") {
e.currentTarget.style.backgroundColor = "transparent";
e.currentTarget.style.color = "#4B5563";
}
}}
> >
<User className="w-4 h-4 inline mr-1" /> <User className="w-4 h-4 inline mr-1" />
Informações Informações
@ -2183,8 +2198,23 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
className={`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${ className={`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${
activeTab === "editor" activeTab === "editor"
? "border-blue-500 text-blue-600" ? "border-blue-500 text-blue-600"
: "border-transparent text-muted-foreground hover:text-foreground" : "border-transparent text-gray-600 dark:text-muted-foreground dark:hover:text-foreground dark:hover:bg-blue-900"
}`} }`}
style={{
backgroundColor: activeTab === "editor" ? undefined : "transparent"
}}
onMouseEnter={(e) => {
if (activeTab !== "editor") {
e.currentTarget.style.backgroundColor = "transparent";
e.currentTarget.style.color = "#4B5563";
}
}}
onMouseLeave={(e) => {
if (activeTab !== "editor") {
e.currentTarget.style.backgroundColor = "transparent";
e.currentTarget.style.color = "#4B5563";
}
}}
> >
<FileText className="w-4 h-4 inline mr-1" /> <FileText className="w-4 h-4 inline mr-1" />
Editor Editor
@ -2194,8 +2224,23 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
className={`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${ className={`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${
activeTab === "imagens" activeTab === "imagens"
? "border-blue-500 text-blue-600" ? "border-blue-500 text-blue-600"
: "border-transparent text-muted-foreground hover:text-foreground" : "border-transparent text-gray-600 dark:text-muted-foreground dark:hover:text-foreground dark:hover:bg-blue-900"
}`} }`}
style={{
backgroundColor: activeTab === "imagens" ? undefined : "transparent"
}}
onMouseEnter={(e) => {
if (activeTab !== "imagens") {
e.currentTarget.style.backgroundColor = "transparent";
e.currentTarget.style.color = "#4B5563";
}
}}
onMouseLeave={(e) => {
if (activeTab !== "imagens") {
e.currentTarget.style.backgroundColor = "transparent";
e.currentTarget.style.color = "#4B5563";
}
}}
> >
<Upload className="w-4 h-4 inline mr-1" /> <Upload className="w-4 h-4 inline mr-1" />
Imagens ({imagens.length}) Imagens ({imagens.length})
@ -2205,8 +2250,23 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
className={`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${ className={`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${
activeTab === "campos" activeTab === "campos"
? "border-blue-500 text-blue-600" ? "border-blue-500 text-blue-600"
: "border-transparent text-muted-foreground hover:text-foreground" : "border-transparent text-gray-600 dark:text-muted-foreground dark:hover:text-foreground dark:hover:bg-blue-900"
}`} }`}
style={{
backgroundColor: activeTab === "campos" ? undefined : "transparent"
}}
onMouseEnter={(e) => {
if (activeTab !== "campos") {
e.currentTarget.style.backgroundColor = "transparent";
e.currentTarget.style.color = "#4B5563";
}
}}
onMouseLeave={(e) => {
if (activeTab !== "campos") {
e.currentTarget.style.backgroundColor = "transparent";
e.currentTarget.style.color = "#4B5563";
}
}}
> >
<Settings className="w-4 h-4 inline mr-1" /> <Settings className="w-4 h-4 inline mr-1" />
Campos Campos
@ -2216,8 +2276,23 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
className={`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${ className={`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${
showPreview showPreview
? "border-green-500 text-green-600" ? "border-green-500 text-green-600"
: "border-transparent text-muted-foreground hover:text-foreground hover:bg-blue-50 dark:hover:bg-gray-700" : "border-transparent text-gray-600 dark:text-muted-foreground dark:hover:text-foreground dark:hover:bg-blue-900"
}`} }`}
style={{
backgroundColor: !showPreview ? "transparent" : undefined
}}
onMouseEnter={(e) => {
if (!showPreview) {
e.currentTarget.style.backgroundColor = "transparent";
e.currentTarget.style.color = "#4B5563";
}
}}
onMouseLeave={(e) => {
if (!showPreview) {
e.currentTarget.style.backgroundColor = "transparent";
e.currentTarget.style.color = "#4B5563";
}
}}
> >
<Eye className="w-4 h-4 inline mr-1" /> <Eye className="w-4 h-4 inline mr-1" />
{showPreview ? "Ocultar" : "Pré-visualização"} {showPreview ? "Ocultar" : "Pré-visualização"}
@ -2314,6 +2389,7 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
size="sm" size="sm"
onClick={() => formatText("bold")} onClick={() => formatText("bold")}
title="Negrito" title="Negrito"
className="hover:bg-blue-50 dark:hover:bg-accent"
> >
<strong>B</strong> <strong>B</strong>
</Button> </Button>
@ -2322,6 +2398,7 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
size="sm" size="sm"
onClick={() => formatText("italic")} onClick={() => formatText("italic")}
title="Itálico" title="Itálico"
className="hover:bg-blue-50 dark:hover:bg-accent"
> >
<em>I</em> <em>I</em>
</Button> </Button>
@ -2330,6 +2407,7 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
size="sm" size="sm"
onClick={() => formatText("underline")} onClick={() => formatText("underline")}
title="Sublinhado" title="Sublinhado"
className="hover:bg-blue-50 dark:hover:bg-accent"
> >
<u>U</u> <u>U</u>
</Button> </Button>
@ -2338,6 +2416,7 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
size="sm" size="sm"
onClick={() => formatText("list")} onClick={() => formatText("list")}
title="Lista" title="Lista"
className="hover:bg-blue-50 dark:hover:bg-accent"
> >
</Button> </Button>
@ -2596,10 +2675,10 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
Este editor permite escrever relatórios de forma livre, com formatação de texto rica. Este editor permite escrever relatórios de forma livre, com formatação de texto rica.
</div> </div>
<div className="flex gap-2"> <div className="flex gap-2">
<Button variant="outline" onClick={onClose}> <Button variant="outline" onClick={onClose} className="hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">
Cancelar Cancelar
</Button> </Button>
<Button variant="outline"> <Button variant="outline" className="hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">
Salvar Rascunho Salvar Rascunho
</Button> </Button>
<Button variant="default"> <Button variant="default">
@ -2621,12 +2700,22 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
<div className="grid grid-cols-1 md:grid-cols-2 gap-6"> <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
<div className="space-y-2"> <div className="space-y-2">
<Label htmlFor="destinatario">Destinatário</Label> <Label htmlFor="destinatario">Destinatário</Label>
<Input <Select>
id="destinatario" <SelectTrigger id="destinatario" className="hover:border-primary focus:border-primary cursor-pointer">
placeholder="Nome do Paciente ou CPF" <SelectValue placeholder="Selecione o paciente" />
disabled </SelectTrigger>
className="bg-muted cursor-not-allowed text-muted-foreground disabled:text-foreground" <SelectContent className="bg-popover border">
/> {pacientes.map((paciente) => (
<SelectItem
key={paciente.cpf}
value={paciente.nome}
className="hover:bg-blue-50 focus:bg-blue-50 cursor-pointer dark:hover:bg-primary dark:hover:text-primary-foreground dark:focus:bg-primary dark:focus:text-primary-foreground"
>
{paciente.nome} - {paciente.cpf}
</SelectItem>
))}
</SelectContent>
</Select>
</div> </div>
<div className="space-y-2"> <div className="space-y-2">
<Label htmlFor="tipoMensagem">Tipo de mensagem</Label> <Label htmlFor="tipoMensagem">Tipo de mensagem</Label>
@ -2673,7 +2762,7 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
<div className="flex items-center justify-between"> <div className="flex items-center justify-between">
<h2 className="text-2xl font-bold text-foreground">Relatórios Médicos</h2> <h2 className="text-2xl font-bold text-foreground">Relatórios Médicos</h2>
{editandoRelatorio && ( {editandoRelatorio && (
<Button variant="outline" onClick={handleCancelarEdicaoRelatorio}> <Button variant="outline" onClick={handleCancelarEdicaoRelatorio} className="hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">
Cancelar Edição Cancelar Edição
</Button> </Button>
)} )}
@ -2893,7 +2982,7 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
{/* Botões de Ação */} {/* Botões de Ação */}
<div className="flex justify-end gap-4"> <div className="flex justify-end gap-4">
<Button variant="outline" onClick={handleCancelarEdicaoRelatorio}> <Button variant="outline" onClick={handleCancelarEdicaoRelatorio} className="hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">
Cancelar Cancelar
</Button> </Button>
<Button onClick={handleSalvarRelatorio} className="flex items-center gap-2"> <Button onClick={handleSalvarRelatorio} className="flex items-center gap-2">
@ -2989,7 +3078,7 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
<Button onClick={handleSaveProfile} className="flex items-center gap-2"> <Button onClick={handleSaveProfile} className="flex items-center gap-2">
Salvar Salvar
</Button> </Button>
<Button variant="outline" onClick={handleCancelEdit}> <Button variant="outline" onClick={handleCancelEdit} className="hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground">
Cancelar Cancelar
</Button> </Button>
</div> </div>
@ -3297,7 +3386,7 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
<Button <Button
onClick={() => setShowPopup(false)} onClick={() => setShowPopup(false)}
variant="outline" variant="outline"
className="flex-1" className="flex-1 hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground"
> >
Cancelar Cancelar
</Button> </Button>
@ -3412,7 +3501,7 @@ Nevo melanocítico benigno. Seguimento clínico recomendado.
<Button <Button
onClick={() => setShowActionModal(false)} onClick={() => setShowActionModal(false)}
variant="outline" variant="outline"
className="w-full mt-2" className="w-full mt-2 hover:bg-blue-50 dark:hover:bg-accent dark:hover:text-accent-foreground"
> >
Cancelar Cancelar
</Button> </Button>

View File

@ -59,7 +59,7 @@ export function Header() {
<Link href="/login-admin"> <Link href="/login-admin">
<Button <Button
variant="outline" variant="outline"
className="text-foreground border-slate-600 bg-transparent shadow-sm shadow-gray-500/10 border border-gray-300 hover:bg-gray-50 dark:shadow-none dark:border-slate-600 dark:hover:bg-slate-700 dark:hover:text-white cursor-pointer" className="text-primary border-primary bg-transparent shadow-sm shadow-blue-500/10 border border-blue-200 hover:bg-blue-50 dark:shadow-none dark:border-primary dark:hover:bg-primary dark:hover:text-primary-foreground cursor-pointer"
> >
Sou Administrador de uma Clínica Sou Administrador de uma Clínica
</Button> </Button>
@ -109,7 +109,7 @@ export function Header() {
<Link href="/login-admin"> <Link href="/login-admin">
<Button <Button
variant="outline" variant="outline"
className="text-foreground border-slate-600 bg-transparent w-full shadow-sm shadow-gray-500/10 border border-gray-300 hover:bg-gray-50 dark:shadow-none dark:border-slate-600 dark:hover:bg-slate-700 dark:hover:text-white cursor-pointer" className="text-primary border-primary bg-transparent w-full shadow-sm shadow-blue-500/10 border border-blue-200 hover:bg-blue-50 dark:shadow-none dark:border-primary dark:hover:bg-primary dark:hover:text-primary-foreground cursor-pointer"
> >
Sou Administrador de uma Clínica Sou Administrador de uma Clínica
</Button> </Button>