diff options
| author | Leonardo Bishop <me@leonardobishop.com> | 2024-03-12 19:18:52 +0000 |
|---|---|---|
| committer | Leonardo Bishop <me@leonardobishop.com> | 2024-03-12 19:18:52 +0000 |
| commit | a4052ffee8bc7c6c8a69eba5120b5c6c2d951b0f (patch) | |
| tree | 970921e587c0972ed4bf8a82a18bbad8dee10458 /pages | |
| parent | addf95bc7e1e694cd9ba7797c8b0847bfecaf54c (diff) | |
Add items
Diffstat (limited to 'pages')
| -rw-r--r-- | pages/category/[id].vue | 53 | ||||
| -rw-r--r-- | pages/item/[id].vue | 52 | ||||
| -rw-r--r-- | pages/quest/[id].vue | 57 |
3 files changed, 58 insertions, 104 deletions
diff --git a/pages/category/[id].vue b/pages/category/[id].vue index 3570a15..da68bb5 100644 --- a/pages/category/[id].vue +++ b/pages/category/[id].vue @@ -15,7 +15,7 @@ const categoryName = sessionStore.getCategoryById(categoryId)?.display.name; </script> <template> - <div id="header"> + <PageHeader> <span id="path"> <font-awesome-icon class="icon" :icon="['fas', 'fa-folder']" /> <span class="title" v-if="categoryName">{{ stripColorCodes(categoryName) }} </span> @@ -24,7 +24,7 @@ const categoryName = sessionStore.getCategoryById(categoryId)?.display.name; <span id="controls" class="control-group"> <Button type="solid" :disabled="true" :icon="['fas', 'fa-save']" :label="'Save'"></Button> </span> - </div> + </PageHeader> <div id="options-container"> <EditorCategoryOptionsPanel :categoryId="categoryId" /> @@ -33,55 +33,6 @@ const categoryName = sessionStore.getCategoryById(categoryId)?.display.name; </template> <style scoped> -#header { - padding: 1rem 1rem 0.5rem 1rem; - background-color: var(--color-background); - border-bottom: 1px solid var(--color-border); - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); - width: 100%; - height: 55px; - display: flex; - align-items: left; - justify-content: space-between; - gap: 1rem; - position: relative; - z-index: 0; - - #path { - font-size: 1.2rem; - display: flex; - gap: 0.5rem; - align-items: center; - - .icon { - font-size: 0.8rem; - } - - .chevron { - font-size: 0.8rem; - color: var(--color-text-mute); - } - - .title { - font-weight: 700; - } - - code { - font-size: 0.8rem; - color: var(--color-text-mute); - } - } -} - -.none-selected { - display: flex; - align-items: center; - justify-content: center; - padding: 1rem; - font-size: 1.2rem; - color: var(--color-text-mute); -} - #pane-container { width: 100%; flex-grow: 1; diff --git a/pages/item/[id].vue b/pages/item/[id].vue new file mode 100644 index 0000000..f1dbb95 --- /dev/null +++ b/pages/item/[id].vue @@ -0,0 +1,52 @@ +<script setup lang="ts"> +import { useSessionStore } from '@/stores/session'; +import { stripColorCodes } from '@/lib/util'; + +definePageMeta({ + layout: 'editor' +}) + +const sessionStore = useSessionStore(); +const route = useRoute(); + +const itemId = route.params.id as string; + +const item = sessionStore.getItemById(itemId); +</script> + +<template> + <PageHeader> + <span id="path"> + <font-awesome-icon class="icon" :icon="['fas', 'cube']" /> + <span class="title">{{ itemId }} </span> + </span> + <span id="controls" class="control-group"> + <Button type="solid" :disabled="true" :icon="['fas', 'fa-save']" :label="'Save'"></Button> + </span> + </PageHeader> + + <div id="options-container"> + </div> +</template> + +<style scoped> +#pane-container { + width: 100%; + flex-grow: 1; + height: calc(100vh - 73px); + max-height: calc(100vh - 73px); +} + +#options-container { + width: 100%; + display: flex; + gap: 1rem; + padding: 1rem; + overflow: auto; + max-height: calc(100% - 55px); +} + +header { + border-bottom: 1px solid var(--color-border); +} +</style>
\ No newline at end of file diff --git a/pages/quest/[id].vue b/pages/quest/[id].vue index a9b2074..080f232 100644 --- a/pages/quest/[id].vue +++ b/pages/quest/[id].vue @@ -2,7 +2,7 @@ import { useSessionStore } from '@/stores/session'; import { computed, ref } from 'vue'; import { navigateToEditorPane, stripColorCodes } from '@/lib/util'; -import type Yaml from '~/components/editor/quest/modal/Yaml.vue'; +import type EditorQuestModalYaml from '~/components/editor/quest/modal/EditorQuestModalYaml.vue'; definePageMeta({ layout: 'editor' @@ -24,7 +24,7 @@ const categoryFromSelectedQuest = computed(() => { } }); -const yamlModal = ref<InstanceType<typeof Yaml> | null>(null); +const yamlModal = ref<InstanceType<typeof EditorQuestModalYaml> | null>(null); const showDeleteModal = ref(false); const showRenameModal = ref(false); const showDuplicateModal = ref(false); @@ -53,7 +53,7 @@ const showYaml = () => { </script> <template> - <div id="header"> + <PageHeader> <span id="path"> <template v-if="categoryFromSelectedQuest"> <font-awesome-icon class="icon" :icon="['fas', 'fa-folder']" /> @@ -71,7 +71,7 @@ const showYaml = () => { <Button :icon="['fas', 'fa-trash']" :label="'Delete'" @click="showDeleteModal = true"></Button> <Button type="solid" :disabled="true" :icon="['fas', 'fa-save']" :label="'Save'"></Button> </span> - </div> + </PageHeader> <div id="options-container"> <EditorQuestOptionsPanel :questId="questId" /> @@ -88,55 +88,6 @@ const showYaml = () => { </template> <style scoped> -#header { - padding: 1rem 1rem 0.5rem 1rem; - background-color: var(--color-background); - border-bottom: 1px solid var(--color-border); - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); - width: 100%; - height: 55px; - display: flex; - align-items: left; - justify-content: space-between; - gap: 1rem; - position: relative; - z-index: 0; - - #path { - font-size: 1.2rem; - display: flex; - gap: 0.5rem; - align-items: center; - - .icon { - font-size: 0.8rem; - } - - .chevron { - font-size: 0.8rem; - color: var(--color-text-mute); - } - - .title { - font-weight: 700; - } - - code { - font-size: 0.8rem; - color: var(--color-text-mute); - } - } -} - -.none-selected { - display: flex; - align-items: center; - justify-content: center; - padding: 1rem; - font-size: 1.2rem; - color: var(--color-text-mute); -} - #pane-container { width: 100%; flex-grow: 1; |
