mirror of
https://github.com/misode/misode.github.io.git
synced 2026-05-02 07:55:29 +00:00
Remember preview panel open state
This commit is contained in:
@@ -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_PREVIEW_PANEL_OPEN = 'misode_preview_panel_open'
|
||||
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'
|
||||
@@ -71,6 +72,12 @@ export namespace Store {
|
||||
return backups[id]
|
||||
}
|
||||
|
||||
export function getPreviewPanelOpen(): boolean | undefined {
|
||||
const open = localStorage.getItem(ID_PREVIEW_PANEL_OPEN)
|
||||
if (open === null) return undefined
|
||||
return JSON.parse(open)
|
||||
}
|
||||
|
||||
export function getProjectPanelOpen(): boolean | undefined {
|
||||
const open = localStorage.getItem(ID_PROJECT_PANEL_OPEN)
|
||||
if (open === null) return undefined
|
||||
@@ -131,6 +138,14 @@ export namespace Store {
|
||||
localStorage.setItem(ID_BACKUPS, JSON.stringify(backups))
|
||||
}
|
||||
|
||||
export function setPreviewPanelOpen(open: boolean | undefined) {
|
||||
if (open === undefined) {
|
||||
localStorage.removeItem(ID_PREVIEW_PANEL_OPEN)
|
||||
} else {
|
||||
localStorage.setItem(ID_PREVIEW_PANEL_OPEN, JSON.stringify(open))
|
||||
}
|
||||
}
|
||||
|
||||
export function setProjectPanelOpen(open: boolean | undefined) {
|
||||
if (open === undefined) {
|
||||
localStorage.removeItem(ID_PROJECT_PANEL_OPEN)
|
||||
|
||||
@@ -285,7 +285,7 @@ export function Generator({}: Props) {
|
||||
|
||||
const [copyActive, copySuccess] = useActiveTimeout()
|
||||
|
||||
const [previewShown, setPreviewShown] = useState(false)
|
||||
const [previewShown, setPreviewShown] = useState(Store.getPreviewPanelOpen() ?? window.innerWidth > 800)
|
||||
const hasPreview = HasPreview.includes(gen.id) && !(gen.id === 'worldgen/configured_feature' && checkVersion(version, '1.18'))
|
||||
if (previewShown && !hasPreview) setPreviewShown(false)
|
||||
let actionsShown = 2
|
||||
@@ -304,7 +304,7 @@ export function Generator({}: Props) {
|
||||
}
|
||||
}
|
||||
|
||||
const [projectShown, setProjectShown] = useState(Store.getProjectPanelOpen() ?? window.innerWidth > 600)
|
||||
const [projectShown, setProjectShown] = useState(Store.getProjectPanelOpen() ?? window.innerWidth > 1000)
|
||||
const toggleProjectShown = useCallback(() => {
|
||||
if (projectShown) {
|
||||
Analytics.hideProject(gen.id, projects.length, project.files.length, 'menu')
|
||||
|
||||
Reference in New Issue
Block a user