umami/store/websites.js

30 lines
629 B
JavaScript
Raw Normal View History

import create from 'zustand';
import produce from 'immer';
2022-03-02 06:13:15 +01:00
import app from './app';
import { getDateRange } from '../lib/date';
const store = create(() => ({}));
2022-03-02 06:13:15 +01:00
export function setDateRange(websiteId, value) {
store.setState(
produce(state => {
if (!state[websiteId]) {
state[websiteId] = {};
}
2022-03-02 06:13:15 +01:00
let dateRange = value;
if (typeof value === 'string') {
const { locale } = app.getState();
dateRange = getDateRange(value, locale);
}
state[websiteId].dateRange = { ...dateRange, modified: Date.now() };
return state;
}),
);
}
export default store;