feat: improve custom fields admin and date filters

This commit is contained in:
Esdras Renan 2025-11-15 01:51:55 -03:00
parent 11a4b903c4
commit b721348e19
14 changed files with 491 additions and 205 deletions

View file

@ -4,7 +4,7 @@ import { useMemo, useState } from "react"
import Link from "next/link"
import { useRouter } from "next/navigation"
import { toast } from "sonner"
import { Settings2, Share2, ShieldCheck, UserCog, UserPlus, Users2, Layers3, MessageSquareText, BellRing } from "lucide-react"
import { Settings2, Share2, ShieldCheck, UserCog, UserPlus, Users2, Layers3, MessageSquareText, BellRing, ClipboardList } from "lucide-react"
import { Badge } from "@/components/ui/badge"
import { Button } from "@/components/ui/button"
@ -12,7 +12,6 @@ import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle }
import { Separator } from "@/components/ui/separator"
import { useAuth, signOut } from "@/lib/auth-client"
import { DEFAULT_TENANT_ID } from "@/lib/constants"
import { FieldsManager } from "@/components/admin/fields/fields-manager"
import type { LucideIcon } from "lucide-react"
@ -36,6 +35,14 @@ const ROLE_LABELS: Record<string, string> = {
}
const SETTINGS_ACTIONS: SettingsAction[] = [
{
title: "Campos personalizados",
description: "Configure campos extras por formulário e empresa para enriquecer os tickets.",
href: "/admin/custom-fields",
cta: "Abrir campos",
requiredRole: "admin",
icon: ClipboardList,
},
{
title: "Times & papéis",
description: "Controle quem pode atuar nas filas e atribua permissões refinadas por equipe.",
@ -53,10 +60,10 @@ const SETTINGS_ACTIONS: SettingsAction[] = [
icon: Share2,
},
{
title: "Campos e categorias",
description: "Ajuste categorias, subcategorias e campos personalizados para qualificar tickets.",
title: "Categorias e formulários",
description: "Mantenha categorias padronizadas e templates de formulário alinhados à operação.",
href: "/admin/fields",
cta: "Editar estrutura",
cta: "Gerenciar categorias",
requiredRole: "admin",
icon: Layers3,
},
@ -271,17 +278,7 @@ export function SettingsContent() {
})}
</div>
</section>
{isStaff ? (
<section id="custom-fields" className="space-y-4">
<div>
<h2 className="text-base font-semibold text-neutral-900">Campos personalizados</h2>
<p className="text-sm text-neutral-600">
Ajuste os campos de admissão, desligamento e demais metadados diretamente pelo painel administrativo.
</p>
</div>
<FieldsManager />
</section>
) : null}
</div>
)
}