feat: status + queue updates, filters e UI

- Status renomeados e cores (Em andamento azul, Pausado amarelo)
- Transições automáticas: iniciar=Em andamento, pausar=Pausado
- Fila padrão: Chamados ao criar ticket
- Admin/Empresas: renomeia ‘Slug’ → ‘Apelido’ + mensagens
- Dashboard: últimos tickets priorizam sem responsável (mais antigos)
- Tickets: filtro por responsável + salvar filtro por usuário
- Encerrar ticket: adiciona botão ‘Cancelar’
- Strings atualizadas (PDF, relatórios, badges)
This commit is contained in:
codex-bot 2025-10-20 14:57:22 -03:00
parent e91192a1f6
commit 5535ba81e6
19 changed files with 399 additions and 86 deletions

View file

@ -228,7 +228,7 @@ export function AdminCompaniesManager({ initialCompanies }: { initialCompanies:
contractedHoursPerMonth: contractedHours,
}
if (!payload.name || !payload.slug) {
toast.error("Informe nome e slug válidos")
toast.error("Informe nome e apelido válidos")
return
}
startTransition(async () => {
@ -388,7 +388,7 @@ export function AdminCompaniesManager({ initialCompanies }: { initialCompanies:
/>
</div>
<div className="grid gap-2">
<Label htmlFor={slugId}>Slug</Label>
<Label htmlFor={slugId}>Apelido</Label>
<Input
id={slugId}
name="companySlug"
@ -541,7 +541,7 @@ export function AdminCompaniesManager({ initialCompanies }: { initialCompanies:
<Input
value={searchTerm}
onChange={(event) => setSearchTerm(event.target.value)}
placeholder="Buscar por nome, slug ou domínio..."
placeholder="Buscar por nome, apelido ou domínio..."
className="h-9 pl-9"
/>
</div>