Store project panel open state

This commit is contained in:
Misode
2022-06-14 16:56:03 +02:00
parent 90eac0f9b8
commit 9cb323e80c
2 changed files with 26 additions and 10 deletions

View File

@@ -13,6 +13,7 @@ export namespace Store {
export const ID_SOUNDS_VERSION = 'minecraft_sounds_version'
export const ID_PROJECTS = 'misode_projects'
export const ID_BACKUPS = 'misode_generator_backups'
export const ID_PROJECT_PANEL_OPEN = 'misode_project_panel_open'
export const ID_OPEN_PROJECT = 'misode_open_project'
export const ID_TREE_VIEW_MODE = 'misode_tree_view_mode'
@@ -69,6 +70,12 @@ export namespace Store {
return backups[id]
}
export function getProjectPanelOpen(): boolean | undefined {
const open = localStorage.getItem(ID_PROJECT_PANEL_OPEN)
if (open === null) return undefined
return JSON.parse(open)
}
export function getOpenProject() {
return localStorage.getItem(ID_OPEN_PROJECT) ?? DRAFT_PROJECT.name
}
@@ -119,6 +126,14 @@ export namespace Store {
localStorage.setItem(ID_BACKUPS, JSON.stringify(backups))
}
export function setProjectPanelOpen(open: boolean | undefined) {
if (open === undefined) {
localStorage.removeItem(ID_PROJECT_PANEL_OPEN)
} else {
localStorage.setItem(ID_PROJECT_PANEL_OPEN, JSON.stringify(open))
}
}
export function setOpenProject(projectName: string | undefined) {
if (projectName === undefined) {
localStorage.removeItem(ID_OPEN_PROJECT)