From be970248686c0af7d8506cba8c64bf507419da3d Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Sun, 22 Jun 2025 13:07:02 +0200 Subject: so much stuff??? --- apps/web/src/stores/media-store.ts | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 apps/web/src/stores/media-store.ts (limited to 'apps/web/src/stores/media-store.ts') diff --git a/apps/web/src/stores/media-store.ts b/apps/web/src/stores/media-store.ts new file mode 100644 index 00000000..25d11af8 --- /dev/null +++ b/apps/web/src/stores/media-store.ts @@ -0,0 +1,35 @@ +import { create } from "zustand"; + +export interface MediaItem { + id: string; + name: string; + type: "image" | "video" | "audio"; +} + +interface MediaStore { + mediaItems: MediaItem[]; + + // Actions + addMediaItem: (item: Omit) => void; + removeMediaItem: (id: string) => void; +} + +export const useMediaStore = create((set, get) => ({ + mediaItems: [], + + addMediaItem: (item) => { + const newItem: MediaItem = { + ...item, + id: crypto.randomUUID(), + }; + set((state) => ({ + mediaItems: [...state.mediaItems, newItem], + })); + }, + + removeMediaItem: (id) => { + set((state) => ({ + mediaItems: state.mediaItems.filter((item) => item.id !== id), + })); + }, +})); -- cgit v1.3.1