feat: CSV exports, PDF improvements, play internal/external with hour split, roles cleanup, admin companies with 'Cliente avulso', ticket list spacing/alignment fixes, status translations and mappings

This commit is contained in:
Esdras Renan 2025-10-07 13:42:45 -03:00
parent addd4ce6e8
commit 3bafcc5a0a
45 changed files with 1401 additions and 256 deletions

View file

@ -23,7 +23,7 @@ const navItems = [
export function PortalShell({ children }: PortalShellProps) {
const pathname = usePathname()
const router = useRouter()
const { session, isCustomer } = useAuth()
const { session } = useAuth()
const [isSigningOut, setIsSigningOut] = useState(false)
const initials = useMemo(() => {
@ -107,11 +107,7 @@ export function PortalShell({ children }: PortalShellProps) {
</div>
</header>
<main className="mx-auto flex w-full max-w-6xl flex-1 flex-col gap-6 px-6 py-8">
{!isCustomer ? (
<div className="rounded-2xl border border-dashed border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800">
Este portal é voltado a clientes. Algumas ações podem não estar disponíveis para o seu perfil.
</div>
) : null}
{null}
{children}
</main>
<footer className="border-t border-slate-200 bg-white/70">

View file

@ -16,7 +16,6 @@ const statusLabel: Record<Ticket["status"], string> = {
AWAITING_ATTENDANCE: "Aguardando atendimento",
PAUSED: "Pausado",
RESOLVED: "Resolvido",
CLOSED: "Fechado",
}
const statusTone: Record<Ticket["status"], string> = {
@ -24,7 +23,6 @@ const statusTone: Record<Ticket["status"], string> = {
AWAITING_ATTENDANCE: "bg-sky-100 text-sky-700",
PAUSED: "bg-violet-100 text-violet-700",
RESOLVED: "bg-emerald-100 text-emerald-700",
CLOSED: "bg-slate-100 text-slate-600",
}
const priorityLabel: Record<Ticket["priority"], string> = {

View file

@ -26,7 +26,6 @@ const statusLabel: Record<TicketWithDetails["status"], string> = {
AWAITING_ATTENDANCE: "Aguardando atendimento",
PAUSED: "Pausado",
RESOLVED: "Resolvido",
CLOSED: "Fechado",
}
const priorityLabel: Record<TicketWithDetails["priority"], string> = {