Refactored functionality for all time date range.
This commit is contained in:
@@ -1,28 +1,20 @@
|
||||
import { create } from 'zustand';
|
||||
import produce from 'immer';
|
||||
import app from './app';
|
||||
import { parseDateRange } from 'lib/date';
|
||||
import { DateRange } from 'lib/types';
|
||||
|
||||
const store = create(() => ({}));
|
||||
|
||||
export function getWebsiteDateRange(websiteId) {
|
||||
export function getWebsiteDateRange(websiteId: string) {
|
||||
return store.getState()?.[websiteId];
|
||||
}
|
||||
|
||||
export function setWebsiteDateRange(websiteId, value) {
|
||||
export function setWebsiteDateRange(websiteId: string, dateRange: DateRange) {
|
||||
store.setState(
|
||||
produce(state => {
|
||||
if (!state[websiteId]) {
|
||||
state[websiteId] = {};
|
||||
}
|
||||
|
||||
let dateRange = value;
|
||||
|
||||
if (typeof value === 'string') {
|
||||
const { locale } = app.getState();
|
||||
dateRange = parseDateRange(value, locale);
|
||||
}
|
||||
|
||||
state[websiteId].dateRange = { ...dateRange, modified: Date.now() };
|
||||
|
||||
return state;
|
||||
Reference in New Issue
Block a user