feat(reports): hours by client (CSV + UI), company contracted hours, UI to manage companies; adjust ticket list spacing

This commit is contained in:
Esdras Renan 2025-10-07 14:04:36 -03:00
parent 3bafcc5a0a
commit 70f91f5bbd
10 changed files with 294 additions and 4 deletions

View file

@ -23,6 +23,7 @@ type Company = {
name: string
slug: string
isAvulso: boolean
contractedHoursPerMonth?: number | null
cnpj: string | null
domain: string | null
phone: string | null
@ -145,6 +146,16 @@ export function AdminCompaniesManager({ initialCompanies }: { initialCompanies:
<Label>Endereço</Label>
<Input value={form.address ?? ""} onChange={(e) => setForm((p) => ({ ...p, address: e.target.value }))} />
</div>
<div className="grid gap-2">
<Label>Horas contratadas/mês</Label>
<Input
type="number"
min={0}
step="0.25"
value={form.contractedHoursPerMonth ?? ""}
onChange={(e) => setForm((p) => ({ ...p, contractedHoursPerMonth: e.target.value === "" ? undefined : Number(e.target.value) }))}
/>
</div>
<div className="flex items-center gap-2 md:col-span-2">
<Checkbox
checked={Boolean(form.isAvulso ?? false)}
@ -210,4 +221,3 @@ export function AdminCompaniesManager({ initialCompanies }: { initialCompanies:
</div>
)
}