diff --git a/packages/features/insights/hooks/useInsightsRoutingFacetedUniqueValues.ts b/packages/features/insights/hooks/useInsightsRoutingFacetedUniqueValues.ts index d71a51d04e..c03bb1a670 100644 --- a/packages/features/insights/hooks/useInsightsRoutingFacetedUniqueValues.ts +++ b/packages/features/insights/hooks/useInsightsRoutingFacetedUniqueValues.ts @@ -60,52 +60,55 @@ export const useInsightsRoutingFacetedUniqueValues = ({ ); return useCallback( - (_: Table, columnId: string) => (): Map => { - if (!headers) { - return new Map(); - } + (_: Table, columnId: string) => + (): Map => { + if (!headers) { + return new Map(); + } - const fieldHeader = headers.find((h) => h.id === columnId); - if (fieldHeader?.options) { - return convertFacetedValuesToMap( - fieldHeader.options - .filter((option): option is { id: string; label: string } => option.id !== null) - .map((option) => ({ - label: option.label, - value: option.id, + const fieldHeader = headers.find((h) => h.id === columnId); + if (fieldHeader?.options) { + return convertFacetedValuesToMap( + fieldHeader.options + .filter((option): option is { id: string; label: string } => option.id !== null) + .map((option) => ({ + label: option.label, + value: option.id, + })) + ); + } else if (columnId === "bookingStatusOrder") { + return convertFacetedValuesToMap( + Object.keys(statusOrder).map((status) => ({ + value: statusOrder[status as BookingStatus], + label: bookingStatusToText(status as BookingStatus), })) - ); - } else if (columnId === "bookingStatusOrder") { - return convertFacetedValuesToMap( - Object.keys(statusOrder).map((status) => ({ - value: statusOrder[status as BookingStatus], - label: bookingStatusToText(status as BookingStatus), - })) - ); - } else if (columnId === "formId") { - return convertFacetedValuesToMap( - forms?.map((form) => ({ - label: form.name, - value: form.id, - })) ?? [] - ); - } else if (columnId === "bookingUserId") { - return convertFacetedValuesToMap( - users?.map((user) => ({ - label: user.name ?? user.email, - value: user.id, - })) ?? [] - ); - } else if (columnId === "eventTypeId") { - return convertFacetedValuesToMap( - eventTypes?.map((eventType) => ({ - value: eventType.id, - label: eventType.teamId ? `${eventType.title} (${eventType.team?.name})` : eventType.title, - })) ?? [] - ); - } - return new Map(); - }, + ); + } else if (columnId === "formId") { + return convertFacetedValuesToMap( + forms?.map((form) => ({ + label: form.name, + value: form.id, + })) ?? [] + ); + } else if (columnId === "bookingUserId") { + return convertFacetedValuesToMap( + users + ?.map((user) => ({ + label: user.name ?? user.email, + value: user.id, + })) + .sort((a, b) => a.label.localeCompare(b.label)) ?? [] + ); + } else if (columnId === "eventTypeId") { + return convertFacetedValuesToMap( + eventTypes?.map((eventType) => ({ + value: eventType.id, + label: eventType.teamId ? `${eventType.title} (${eventType.team?.name})` : eventType.title, + })) ?? [] + ); + } + return new Map(); + }, [headers, forms, users, eventTypes] ); };