aboutsummaryrefslogtreecommitdiff
path: root/src/store/websites.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/store/websites.ts')
-rw-r--r--src/store/websites.ts35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/store/websites.ts b/src/store/websites.ts
new file mode 100644
index 0000000..4ddcab0
--- /dev/null
+++ b/src/store/websites.ts
@@ -0,0 +1,35 @@
+import { produce } from 'immer';
+import { create } from 'zustand';
+import type { DateRange } from '@/lib/types';
+
+const store = create(() => ({}));
+
+export function setWebsiteDateRange(websiteId: string, dateRange: DateRange) {
+ store.setState(
+ produce(state => {
+ if (!state[websiteId]) {
+ state[websiteId] = {};
+ }
+
+ state[websiteId].dateRange = { ...dateRange, modified: Date.now() };
+
+ return state;
+ }),
+ );
+}
+
+export function setWebsiteDateCompare(websiteId: string, dateCompare: string) {
+ store.setState(
+ produce(state => {
+ if (!state[websiteId]) {
+ state[websiteId] = {};
+ }
+
+ state[websiteId].dateCompare = dateCompare;
+
+ return state;
+ }),
+ );
+}
+
+export const useWebsites = store;