so much stuff???
This commit is contained in:
28
apps/web/src/stores/project-store.ts
Normal file
28
apps/web/src/stores/project-store.ts
Normal file
@ -0,0 +1,28 @@
|
||||
import { TProject } from "@/types/project";
|
||||
import { create } from "zustand";
|
||||
|
||||
interface ProjectStore {
|
||||
activeProject: TProject | null;
|
||||
|
||||
// Actions
|
||||
createNewProject: (name: string) => void;
|
||||
closeProject: () => void;
|
||||
}
|
||||
|
||||
export const useProjectStore = create<ProjectStore>((set) => ({
|
||||
activeProject: null,
|
||||
|
||||
createNewProject: (name: string) => {
|
||||
const newProject: TProject = {
|
||||
id: crypto.randomUUID(),
|
||||
name,
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
};
|
||||
set({ activeProject: newProject });
|
||||
},
|
||||
|
||||
closeProject: () => {
|
||||
set({ activeProject: null });
|
||||
},
|
||||
}));
|
Reference in New Issue
Block a user