feat: improve custom fields admin and date filters
This commit is contained in:
parent
11a4b903c4
commit
b721348e19
14 changed files with 491 additions and 205 deletions
|
|
@ -216,16 +216,20 @@ export function NewTicketDialog({
|
|||
) as TicketFormDefinition[] | undefined
|
||||
|
||||
const forms = useMemo<TicketFormDefinition[]>(() => {
|
||||
const base: TicketFormDefinition = {
|
||||
const fallback: TicketFormDefinition = {
|
||||
key: "default",
|
||||
label: "Chamado",
|
||||
description: "Formulário básico para abertura de chamados gerais.",
|
||||
fields: [],
|
||||
}
|
||||
if (Array.isArray(formsRemote) && formsRemote.length > 0) {
|
||||
return [base, ...formsRemote]
|
||||
if (!formsRemote || formsRemote.length === 0) {
|
||||
return [fallback]
|
||||
}
|
||||
return [base]
|
||||
const hasDefault = formsRemote.some((form) => form.key === fallback.key)
|
||||
if (hasDefault) {
|
||||
return formsRemote
|
||||
}
|
||||
return [fallback, ...formsRemote]
|
||||
}, [formsRemote])
|
||||
|
||||
const [selectedFormKey, setSelectedFormKey] = useState<string>("default")
|
||||
|
|
@ -531,7 +535,7 @@ export function NewTicketDialog({
|
|||
}
|
||||
|
||||
let customFieldsPayload: Array<{ fieldId: Id<"ticketFields">; value: unknown }> = []
|
||||
if (selectedFormKey !== "default" && selectedForm?.fields?.length) {
|
||||
if (selectedForm?.fields?.length) {
|
||||
const normalized = normalizeCustomFieldInputs(selectedForm.fields, customFieldValues)
|
||||
if (!normalized.ok) {
|
||||
toast.error(normalized.message, { id: "new-ticket" })
|
||||
|
|
@ -1036,7 +1040,7 @@ export function NewTicketDialog({
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{selectedFormKey !== "default" && selectedForm.fields.length > 0 ? (
|
||||
{selectedForm.fields.length > 0 ? (
|
||||
<div className="grid gap-4 rounded-xl border border-slate-200 bg-white px-4 py-4 sm:grid-cols-2 lg:col-span-2">
|
||||
<p className="text-sm font-semibold text-neutral-800 sm:col-span-2">Informações adicionais</p>
|
||||
{selectedForm.fields.map((field) => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue