{"version":3,"file":"filters-yyrLBlq_.js","sources":["../../../app/global-state/filters.ts"],"sourcesContent":["import { atom, useAtomValue, useSetAtom } from 'jotai';\nimport { useCallback, useMemo } from 'react';\nimport type { DateRangeString } from '~/types/dates';\n\nexport interface GlobalFilters {\n period: DateRangeString;\n}\n\ntype FilterKey = keyof GlobalFilters;\n\nexport const globalFilters = atom({\n period: [],\n});\n\nexport function useGetFilterValue(key: FilterKey) {\n const filters = useAtomValue(globalFilters);\n return useMemo(() => filters[key], [filters, key]);\n}\n\nexport function useSetGlobalPeriodFilter() {\n const setFilters = useSetAtom(globalFilters);\n\n return useCallback(\n (period: DateRangeString) => {\n setFilters((prev) => ({ ...prev, period }));\n },\n [setFilters],\n );\n}\n"],"names":["globalFilters","atom","useGetFilterValue","key","filters","useAtomValue","useMemo","useSetGlobalPeriodFilter","setFilters","useSetAtom","useCallback","period","prev"],"mappings":"0HAUO,MAAMA,EAAgBC,EAAoB,CAC/C,OAAQ,CAAA,CACV,CAAC,EAEM,SAASC,EAAkBC,EAAgB,CAC1C,MAAAC,EAAUC,EAAaL,CAAa,EACnC,OAAAM,EAAAA,QAAQ,IAAMF,EAAQD,CAAG,EAAG,CAACC,EAASD,CAAG,CAAC,CACnD,CAEO,SAASI,GAA2B,CACnC,MAAAC,EAAaC,EAAWT,CAAa,EAEpC,OAAAU,EAAA,YACJC,GAA4B,CAC3BH,EAAYI,IAAU,CAAE,GAAGA,EAAM,OAAAD,CAAS,EAAA,CAC5C,EACA,CAACH,CAAU,CACb,CACF"}