diff --git a/src/components/hooks/index.ts b/src/components/hooks/index.ts index e8e5c135e..dbb2da52c 100644 --- a/src/components/hooks/index.ts +++ b/src/components/hooks/index.ts @@ -76,6 +76,7 @@ export * from './useMessages'; export * from './useMobile'; export * from './useModified'; export * from './useNavigation'; +export * from './useOperatorLabels'; export * from './usePagedQuery'; export * from './usePageParameters'; export * from './useRegionNames'; diff --git a/src/components/hooks/useFilters.ts b/src/components/hooks/useFilters.ts index 850e2afb1..a20cb53da 100644 --- a/src/components/hooks/useFilters.ts +++ b/src/components/hooks/useFilters.ts @@ -3,11 +3,13 @@ import { safeDecodeURIComponent } from '@/lib/url'; import { useFields } from './useFields'; import { useMessages } from './useMessages'; import { useNavigation } from './useNavigation'; +import { useOperatorLabels } from './useOperatorLabels'; export function useFilters() { const { formatMessage, labels } = useMessages(); const { query } = useNavigation(); const { fields } = useFields(); + const operatorLabels = useOperatorLabels(); const operators = [ { name: 'eq', type: 'string', label: formatMessage(labels.is) }, @@ -29,23 +31,6 @@ export function useFilters() { { name: 'eq', type: 'uuid', label: formatMessage(labels.is) }, ]; - const operatorLabels = { - [OPERATORS.equals]: formatMessage(labels.is), - [OPERATORS.notEquals]: formatMessage(labels.isNot), - [OPERATORS.set]: formatMessage(labels.isSet), - [OPERATORS.notSet]: formatMessage(labels.isNotSet), - [OPERATORS.contains]: formatMessage(labels.contains), - [OPERATORS.doesNotContain]: formatMessage(labels.doesNotContain), - [OPERATORS.true]: formatMessage(labels.true), - [OPERATORS.false]: formatMessage(labels.false), - [OPERATORS.greaterThan]: formatMessage(labels.greaterThan), - [OPERATORS.lessThan]: formatMessage(labels.lessThan), - [OPERATORS.greaterThanEquals]: formatMessage(labels.greaterThanEquals), - [OPERATORS.lessThanEquals]: formatMessage(labels.lessThanEquals), - [OPERATORS.before]: formatMessage(labels.before), - [OPERATORS.after]: formatMessage(labels.after), - }; - const typeFilters = { string: [OPERATORS.equals, OPERATORS.notEquals, OPERATORS.contains, OPERATORS.doesNotContain], array: [OPERATORS.contains, OPERATORS.doesNotContain], diff --git a/src/components/hooks/useOperatorLabels.ts b/src/components/hooks/useOperatorLabels.ts new file mode 100644 index 000000000..48bc04d36 --- /dev/null +++ b/src/components/hooks/useOperatorLabels.ts @@ -0,0 +1,23 @@ +import { OPERATORS } from '@/lib/constants'; +import { useMessages } from './useMessages'; + +export function useOperatorLabels(): Record { + const { formatMessage, labels } = useMessages(); + + return { + [OPERATORS.equals]: formatMessage(labels.is), + [OPERATORS.notEquals]: formatMessage(labels.isNot), + [OPERATORS.set]: formatMessage(labels.isSet), + [OPERATORS.notSet]: formatMessage(labels.isNotSet), + [OPERATORS.contains]: formatMessage(labels.contains), + [OPERATORS.doesNotContain]: formatMessage(labels.doesNotContain), + [OPERATORS.true]: formatMessage(labels.true), + [OPERATORS.false]: formatMessage(labels.false), + [OPERATORS.greaterThan]: formatMessage(labels.greaterThan), + [OPERATORS.lessThan]: formatMessage(labels.lessThan), + [OPERATORS.greaterThanEquals]: formatMessage(labels.greaterThanEquals), + [OPERATORS.lessThanEquals]: formatMessage(labels.lessThanEquals), + [OPERATORS.before]: formatMessage(labels.before), + [OPERATORS.after]: formatMessage(labels.after), + }; +}