Project tree view and creation (#203)

* Implement creating and importing new projects

* Add downloading a zip of a project

* Project validation (WIP)

* Add project side panel, remove project pages

* Project file saving

* Add file tree actions to rename and delete

* Fix file creation auto focus

* Add button to save file from menu

* Add project creation

* Fix specificity on version switcher button

* Update default version to 1.19

* List project files by type, remember project and delete project
This commit is contained in:
Misode
2022-06-14 16:48:55 +02:00
committed by GitHub
parent 4942729e7c
commit 90eac0f9b8
39 changed files with 1132 additions and 267 deletions

View File

@@ -13,6 +13,8 @@ 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_OPEN_PROJECT = 'misode_open_project'
export const ID_TREE_VIEW_MODE = 'misode_tree_view_mode'
export function getLanguage() {
return localStorage.getItem(ID_LANGUAGE) ?? 'en'
@@ -67,6 +69,14 @@ export namespace Store {
return backups[id]
}
export function getOpenProject() {
return localStorage.getItem(ID_OPEN_PROJECT) ?? DRAFT_PROJECT.name
}
export function getTreeViewMode() {
return localStorage.getItem(ID_TREE_VIEW_MODE) ?? 'resources'
}
export function setLanguage(language: string | undefined) {
if (language) localStorage.setItem(ID_LANGUAGE, language)
}
@@ -108,4 +118,16 @@ export namespace Store {
}
localStorage.setItem(ID_BACKUPS, JSON.stringify(backups))
}
export function setOpenProject(projectName: string | undefined) {
if (projectName === undefined) {
localStorage.removeItem(ID_OPEN_PROJECT)
} else {
localStorage.setItem(ID_OPEN_PROJECT, projectName)
}
}
export function setTreeViewMode(mode: string | undefined) {
if (mode) localStorage.setItem(ID_TREE_VIEW_MODE, mode)
}
}