novas atualizacoes do sistema de fechamento

This commit is contained in:
Vitex Tecnologia
2026-04-27 16:50:27 -03:00
parent 6da067c641
commit 4c28862c5c
27 changed files with 3388 additions and 300 deletions
@@ -57,7 +57,10 @@ export default function Fechamentos() {
const competenciasFiltradas = useMemo(() => {
if (!anoSelecionado) return [];
return allCompetencias.filter((c) => c.ano === Number(anoSelecionado));
return allCompetencias
.filter((c) => c.ano === Number(anoSelecionado))
.slice()
.sort((a, b) => a.mes - b.mes);
}, [allCompetencias, anoSelecionado]);
useEffect(() => {
@@ -141,15 +144,15 @@ export default function Fechamentos() {
<DialogHeader>
<DialogTitle>Nova Competência</DialogTitle>
</DialogHeader>
<div className="grid grid-cols-2 gap-4 py-4">
<div className="flex flex-col gap-4 py-4">
<div className="flex flex-col gap-2">
<label className="text-sm font-medium">Mês</label>
<Select value={mesSelecionado} onValueChange={setMesSelecionado}>
<SelectTrigger>
<SelectTrigger className="w-full">
<SelectValue placeholder="Selecione o mês" />
</SelectTrigger>
<SelectContent>
{meses.map ((m, i) => (
{meses.map((m, i) => (
<SelectItem key={i + 1} value={String(i + 1)}>
{m}
</SelectItem>
@@ -160,7 +163,7 @@ export default function Fechamentos() {
<div className="flex flex-col gap-2">
<label className="text-sm font-medium">Ano</label>
<Select value={anoNovo} onValueChange={setAnoNovo}>
<SelectTrigger>
<SelectTrigger className="w-full">
<SelectValue placeholder="Selecione o ano" />
</SelectTrigger>
<SelectContent>
@@ -174,7 +177,12 @@ export default function Fechamentos() {
</div>
</div>
<DialogFooter>
<Button variant="outline" onClick={() => setModalAberto(false)} disabled={criando}>
<Button
variant="outline"
className="hover:bg-muted/60 hover:text-foreground"
onClick={() => setModalAberto(false)}
disabled={criando}
>
Cancelar
</Button>
<Button onClick={() => void handleCriarCompetencia()} disabled={criando || !mesSelecionado || !anoNovo}>
@@ -238,8 +246,8 @@ export default function Fechamentos() {
<Badge
className={
competencia.status === "concluido"
? "bg-green-500 hover:bg-green-500/80 text-white border-green-500"
: "bg-yellow-500 hover:bg-yellow-500/80 text-black border-yellow-500"
? "border-emerald-600/30 bg-emerald-50 font-normal text-emerald-800 hover:bg-emerald-50 dark:bg-emerald-950/40 dark:text-emerald-200"
: "border-slate-500/25 bg-slate-100 font-normal text-slate-700 hover:bg-slate-100 dark:bg-slate-800/60 dark:text-slate-200"
}
>
{competencia.status === "concluido" ? "Concluída" : "Em aberto"}
@@ -250,7 +258,7 @@ export default function Fechamentos() {
<Button
size="sm"
variant="outline"
onClick={() => navigate(`/fechamento-hgtx/competencias/${competencia.id}`)}
onClick={() => navigate(`/fechamento/competencias/${competencia.id}`)}
>
<ExternalLink className="mr-2 h-4 w-4" />
Acessar