mirror of
https://github.com/umami-software/umami.git
synced 2026-02-09 07:07:17 +01:00
Refactored functionality for all time date range.
This commit is contained in:
parent
c3973f5fb5
commit
d06808985b
11 changed files with 91 additions and 33 deletions
|
|
@ -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;
|
||||
Loading…
Add table
Add a link
Reference in a new issue