diff options
| author | Leonardo Bishop <me@leonardobishop.com> | 2024-03-13 17:35:05 +0000 |
|---|---|---|
| committer | Leonardo Bishop <me@leonardobishop.com> | 2024-03-13 17:35:05 +0000 |
| commit | ba28c0148cab26fcaf523e84731ffb7c416b3338 (patch) | |
| tree | a26135e7aa07f53c36292117eff84d0b22e6dd92 /components/loader | |
| parent | 1d2fd8e82f4d2ccfa4cf9e434a05e43250162449 (diff) | |
Add import page
Diffstat (limited to 'components/loader')
| -rw-r--r-- | components/loader/LoaderDiscardSessionModal.vue | 48 | ||||
| -rw-r--r-- | components/loader/LoaderFileSystemButton.vue | 2 | ||||
| -rw-r--r-- | components/loader/LoaderImportButton.vue | 9 | ||||
| -rw-r--r-- | components/loader/LoaderNetworkButton.vue | 8 | ||||
| -rw-r--r-- | components/loader/LoaderTestDataButton.vue | 2 |
5 files changed, 67 insertions, 2 deletions
diff --git a/components/loader/LoaderDiscardSessionModal.vue b/components/loader/LoaderDiscardSessionModal.vue new file mode 100644 index 0000000..845b10a --- /dev/null +++ b/components/loader/LoaderDiscardSessionModal.vue @@ -0,0 +1,48 @@ +<script setup lang="ts"> +const session = useSessionStore(); + +const showModal = ref(false); + +const open = () => { + showModal.value = true; +} + +const confirm = () => { + session.setQuests([]); + session.setCategories([]); + session.setItems([]); + session.setSessionType('none'); + + navigateToEditorPane(null); + + showModal.value = false; +} + +defineExpose({ + open +}) +</script> + +<template> + <Modal v-model="showModal"> + <template v-slot:header> + <h2>Discard current session</h2> + </template> + + <p>You are about to discard your current session. All changes will be lost. + Do you want to continue?</p> + + <div id="controls" class="control-group"> + <Button :icon="['fas', 'xmark']" :label="'Cancel'" @click="showModal = false"></Button> + <Button type="solid" accent="danger" :icon="['fas', 'trash']" :label="'Confirm'" @click="confirm"></Button> + </div> + </Modal> +</template> + +<style scoped> +#controls { + display: flex; + justify-content: flex-end; + margin-top: 1rem; +} +</style>
\ No newline at end of file diff --git a/components/loader/LoaderFileSystemButton.vue b/components/loader/LoaderFileSystemButton.vue index 0d02477..3a70860 100644 --- a/components/loader/LoaderFileSystemButton.vue +++ b/components/loader/LoaderFileSystemButton.vue @@ -32,7 +32,7 @@ const openFileSystemPrompt = async () => { <template> <ClientOnly> - <Button type="solid" :icon="['fas', 'folder-open']" label="Import from Filesystem" @click="openFileSystemPrompt" + <Button type="solid" :icon="['fas', 'folder-open']" label="Load" @click="openFileSystemPrompt" :disabled="!canUseFsApi" /> <LoaderFileSystemModal ref="fileSystemModal" /> diff --git a/components/loader/LoaderImportButton.vue b/components/loader/LoaderImportButton.vue new file mode 100644 index 0000000..48bcb8d --- /dev/null +++ b/components/loader/LoaderImportButton.vue @@ -0,0 +1,9 @@ +<script setup lang="ts"> +const navigateToImport = async () => { + navigateTo('/import'); +} +</script> + +<template> + <Button type="solid" :icon="['fas', 'file-import']" label="Import" @click="navigateToImport" /> +</template>
\ No newline at end of file diff --git a/components/loader/LoaderNetworkButton.vue b/components/loader/LoaderNetworkButton.vue new file mode 100644 index 0000000..3364597 --- /dev/null +++ b/components/loader/LoaderNetworkButton.vue @@ -0,0 +1,8 @@ +<script setup lang="ts"> +</script> + +<template> + <ClientOnly> + <Button type="solid" :icon="['fas', 'download']" label="Download" :disabled="true" /> + </ClientOnly> +</template>
\ No newline at end of file diff --git a/components/loader/LoaderTestDataButton.vue b/components/loader/LoaderTestDataButton.vue index b01b0ee..1e648d6 100644 --- a/components/loader/LoaderTestDataButton.vue +++ b/components/loader/LoaderTestDataButton.vue @@ -10,7 +10,7 @@ const openTestDataModal = async () => { <template> <ClientOnly> - <Button :icon="['fas', 'flask-vial']" label="Demo" @click="openTestDataModal" /> + <Button type="solid" :icon="['fas', 'flask-vial']" label="Demo" @click="openTestDataModal" /> <LoaderTestDataModal ref="testDataModal" /> </ClientOnly> |
