2025-11-19 20:42:31 +01:00

46 lines
1.6 KiB
TypeScript

import { RootState } from "../store";
import { FieldGroupMap, SidebarLink } from "./metadataSlice";
export const selectMetadataState = (state: RootState) => state.metadata;
export const selectMetadataStatus = (state: RootState) =>
state.metadata?.status;
export const selectMetadataError = (state: RootState) => state.metadata?.error;
export const selectAppMetadata = (state: RootState) => state.metadata?.data;
export const selectFieldNames = (state: RootState): FieldGroupMap | undefined =>
state.metadata.data?.field_names;
export const selectSidebarLinks = (state: RootState): SidebarLink[] =>
state.metadata.data?.sidebar?.links ?? [];
export const selectJobTitles = (state: RootState): string[] =>
state.metadata.data?.job_titles ?? [];
export const selectGroups = (state: RootState): string[] =>
state.metadata.data?.groups ?? [];
export const selectMerchants = (state: RootState): string[] =>
state.metadata.data?.merchants ?? [];
export const selectCountries = (state: RootState): string[] =>
state.metadata.data?.countries ?? [];
export const selectTransactionStatuses = (state: RootState): string[] =>
state.metadata.data?.transaction_status ?? [];
export const selectNavigationSidebar = (state: RootState): SidebarLink[] =>
state.metadata.data?.sidebar?.links ?? [];
export const selectConditionOperators = (
state: RootState
): Record<string, string> | undefined =>
state.metadata.data?.field_names?.conditions;
export const selectTransactionFieldNames = (
state: RootState
): Record<string, string> | undefined =>
state.metadata.data?.field_names?.transactions;