Jonas Francisco 8536a8dd20 fix: Corrige navegação do menu lateral e melhora alinhamento de formulários
🔧 Correções no Menu Lateral:
- Fix: Resolve problema onde clicar em "Relatórios" também ativava "Dashboard"
- Ajusta lógica de detecção do item ativo na sidebar
- Evita conflito entre rotas /dashboard e /dashboard/relatorios
- Funciona corretamente em ambos os modos (claro e escuro)

🎨 Padronização das Páginas de Agendamento:
- Padroniza sistema completo de agendamento (agenda, procedimento, financeiro)
- Adiciona página /financeiro com informações financeiras e formas de pagamento
- Padroniza componentes HeaderAgenda e FooterAgenda para modo escuro
- Padroniza ListaEspera com cores responsivas e tabela temática
- Padroniza página de calendário principal com dropdown melhorado
- Padroniza página de relatórios com cards e gráficos adaptativos

📐 Melhorias no Alinhamento dos Formulários:
- Fix: Corrige alinhamento dos campos no formulário de agendamento
- Reorganiza layout de "Data de nascimento" e "Telefone" em colunas separadas
- Alinha perfeitamente campos "Início" e "Término" em grid 2 colunas
- Melhora layout geral da seção "Informações do atendimento"
- Ajusta proporções do textarea de observações
- Layout mais limpo e profissional em todas as telas

 Benefícios:
- Navegação precisa no menu lateral
- Sistema de agendamento completamente padronizado
- Formulários com campos perfeitamente alinhados
- Experiência visual consistente em modo claro e escuro
- Interface mais profissional e intuitiva
2025-10-03 02:42:32 -03:00

90 lines
3.6 KiB
TypeScript

"use client";
import Link from "next/link";
import { usePathname, useRouter } from "next/navigation";
import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { Switch } from "@/components/ui/switch";
import { Search, ChevronDown, RotateCcw } from "lucide-react";
import { Plus } from "lucide-react";
import HeaderAgenda from "@/components/agenda/HeaderAgenda";
import FooterAgenda from "@/components/agenda/FooterAgenda";
export default function ProcedimentoPage() {
const pathname = usePathname();
const router = useRouter();
const [bloqueio, setBloqueio] = useState(false);
const isAg = pathname?.startsWith("/agendamento");
const isPr = pathname?.startsWith("/procedimento");
const isFi = pathname?.startsWith("/financeiro");
const tab = (active: boolean, extra = "") =>
`px-4 py-1.5 text-[13px] border ${
active
? "border-sky-500 bg-sky-50 dark:bg-sky-900/30 text-sky-700 dark:text-sky-300 font-medium"
: "text-muted-foreground hover:bg-muted border-border"
} ${extra}`;
return (
<div className="w-full min-h-screen flex flex-col bg-background">
{/* HEADER */}
<HeaderAgenda />
{/* CORPO */}
<main className="mx-auto w-full max-w-7xl px-8 py-6 space-y-6 flex-grow">
{/* ATENDIMENTOS */}
<section className="space-y-6">
{/* Selo Atendimento com + dentro da bolinha */}
<div className="inline-flex items-center gap-2 border border-border px-3 py-1.5 bg-card text-[12px] rounded-md cursor-pointer hover:bg-muted">
<span className="flex h-5 w-5 items-center justify-center rounded-full border border-border bg-muted text-muted-foreground">
<Plus className="h-3 w-3" strokeWidth={2} />
</span>
<span className="text-foreground">Atendimento</span>
</div>
{/* Traço separador */}
<div className="border-b border-border" />
{/* PROCEDIMENTOS */}
<div className="space-y-1">
<Label className="text-[13px] text-foreground/80">
Procedimentos
</Label>
<div className="relative">
<Search className="pointer-events-none absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" />
<Input
placeholder="Buscar"
className="h-10 w-full rounded-md pl-8 pr-8 border-input focus-visible:ring-1 focus-visible:ring-sky-500 focus-visible:border-sky-500"
/>
<ChevronDown className="pointer-events-none absolute right-2 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" />
</div>
</div>
{/* Traço separador */}
<div className="border-b border-border" />
{/* OUTRAS DESPESAS */}
<div className="space-y-1">
<Label className="text-[13px] text-foreground/80">
Outras despesas
</Label>
<div className="relative">
<Search className="pointer-events-none absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" />
<Input
placeholder="Buscar"
className="h-10 w-full rounded-md pl-8 pr-8 border-input focus-visible:ring-1 focus-visible:ring-sky-500 focus-visible:border-sky-500"
/>
<ChevronDown className="pointer-events-none absolute right-2 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" />
</div>
</div>
</section>
</main>
{/* RODAPÉ FIXO */}
<FooterAgenda />
</div>
);
}