update notification

This commit is contained in:
Ren Amamiya
2023-09-07 11:34:26 +07:00
parent 48066a4018
commit 8eb11efb34
7 changed files with 121 additions and 105 deletions

27
src/stores/activities.ts Normal file
View File

@@ -0,0 +1,27 @@
import { NDKEvent } from '@nostr-dev-kit/ndk';
import { create } from 'zustand';
import { createJSONStorage, persist } from 'zustand/middleware';
interface ActivitiesState {
activities: null | Array<NDKEvent>;
setActivities: (events: NDKEvent[]) => void;
addActivity: (event: NDKEvent) => void;
}
export const useActivities = create<ActivitiesState>()(
persist(
(set) => ({
activities: null,
setActivities: (events: NDKEvent[]) => {
set(() => ({ activities: events }));
},
addActivity: (event: NDKEvent) => {
set((state) => ({ activities: [event, ...state.activities] }));
},
}),
{
name: 'activities',
storage: createJSONStorage(() => localStorage),
}
)
);