mirror of
https://github.com/misode/misode.github.io.git
synced 2026-04-23 15:17:09 +00:00
Refactor modals to use context provider
This commit is contained in:
@@ -63,7 +63,7 @@ export function useProject() {
|
||||
|
||||
export function ProjectProvider({ children }: { children: ComponentChildren }) {
|
||||
const [projects, setProjects] = useState<ProjectMeta[]>(Store.getProjects())
|
||||
const [openProject, setProjectName] = useState<string>()
|
||||
const [openProject, setOpenProject] = useState<string>()
|
||||
|
||||
useEffect(() => {
|
||||
const initialProject = Store.getOpenProject()
|
||||
@@ -72,7 +72,7 @@ export function ProjectProvider({ children }: { children: ComponentChildren }) {
|
||||
return
|
||||
}
|
||||
if (project.storage !== undefined) {
|
||||
setProjectName(initialProject)
|
||||
setOpenProject(initialProject)
|
||||
return
|
||||
}
|
||||
// TODO: Import legacy projects
|
||||
@@ -96,11 +96,12 @@ export function ProjectProvider({ children }: { children: ComponentChildren }) {
|
||||
const deleteProject = useCallback((name: string) => {
|
||||
if (name === DRAFT_PROJECT.name) return
|
||||
changeProjects(projects.filter(p => p.name !== name))
|
||||
setOpenProject(undefined)
|
||||
}, [projects])
|
||||
|
||||
const changeProject = useCallback((name: string) => {
|
||||
Store.setOpenProject(name)
|
||||
setProjectName(name)
|
||||
setOpenProject(name)
|
||||
}, [])
|
||||
|
||||
const updateProject = useCallback((edits: Partial<ProjectMeta>) => {
|
||||
|
||||
Reference in New Issue
Block a user