diff --git a/components/viewer/ViewMenuBar.vue b/components/viewer/ViewMenuBar.vue index b6edf25..1eb7a38 100644 --- a/components/viewer/ViewMenuBar.vue +++ b/components/viewer/ViewMenuBar.vue @@ -4,7 +4,10 @@ >
-
@@ -25,7 +28,11 @@ import ViewScoreStatus from '~/components/viewer/ViewScoreStatus.vue'; import { useViewerStore } from '~/composables/store/viewer'; -const { toggleBackpack, toggleSearch } = useViewerStore(); +const { toggleBackpack, toggleSearch, toggleProjectMenu } = useViewerStore(); - + diff --git a/components/viewer/modal/ViewProjectMenu.vue b/components/viewer/modal/ViewProjectMenu.vue new file mode 100644 index 0000000..b01b1a1 --- /dev/null +++ b/components/viewer/modal/ViewProjectMenu.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/composables/store/project.ts b/composables/store/project.ts index ac58e26..5761fdd 100644 --- a/composables/store/project.ts +++ b/composables/store/project.ts @@ -78,6 +78,7 @@ export const useProjectStore = defineStore('project', () => { }; const unloadProject = () => { project.value = null; + selected.value = {}; }; const setSelected = (id: string, isSelected: boolean) => { diff --git a/composables/store/viewer.ts b/composables/store/viewer.ts index 9d4128a..15f06c0 100644 --- a/composables/store/viewer.ts +++ b/composables/store/viewer.ts @@ -1,8 +1,37 @@ import { defineStore, storeToRefs } from 'pinia'; +import { ViewerProjectList } from '~/composables/viewer'; + export const useViewerStore = defineStore('viewer', () => { const isBackpackVisible = ref(false); const isSearchVisible = ref(false); + const isProjectMenuVisible = ref(false); + + const viewerProjectList = ref({ + items: [ + { + remoteFileUrl: + 'https://raw.githubusercontent.com/ltouroumov/worm-cyoa-v6-fork/master/extract-v6.0.json', + title: "Worm V6.0 (Pixel's Version)", + }, + { + remoteFileUrl: + 'https://raw.githubusercontent.com/ltouroumov/worm-cyoa-v6-fork/master/extract-v6.1.json', + title: "Worm V6.1 (Pixel's Version)", + }, + { + remoteFileUrl: + 'https://raw.githubusercontent.com/ltouroumov/worm-cyoa-v6-fork/master/project-v17.json', + title: "Worm V6 (Lt's Fork)", + }, + { + remoteFileUrl: + 'https://raw.githubusercontent.com/ltouroumov/pathfinder-cyoa/main/project-v0.json', + title: 'Pathfinder CYOA (WIP by Lt Ouroumov)', + }, + // Add more projects... + ], + }); const toggleBackpack = (set?: boolean) => { isBackpackVisible.value = set ?? !isBackpackVisible.value; @@ -12,11 +41,18 @@ export const useViewerStore = defineStore('viewer', () => { isSearchVisible.value = set ?? !isSearchVisible.value; }; + const toggleProjectMenu = (set?: boolean) => { + isProjectMenuVisible.value = set ?? !isProjectMenuVisible.value; + }; + return { isBackpackVisible, isSearchVisible, + isProjectMenuVisible, + viewerProjectList, toggleBackpack, toggleSearch, + toggleProjectMenu, }; }); diff --git a/composables/viewer.ts b/composables/viewer.ts new file mode 100644 index 0000000..17b928a --- /dev/null +++ b/composables/viewer.ts @@ -0,0 +1,8 @@ +export type ViewerProject = { + remoteFileUrl: string; + title: string; +}; + +export type ViewerProjectList = { + items: ViewerProject[]; +}; diff --git a/pages/index.vue b/pages/index.vue index 59e08fe..c00e644 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -13,87 +13,36 @@ + + + +
-
-
Default Files
- -
-
- Loading... -
- Loading ... -
- -
Load File
- -
+