aboutsummaryrefslogtreecommitdiffstats
path: root/components/editor/quest/OptionsPanel.vue
diff options
context:
space:
mode:
authorLeonardo Bishop <me@leonardobishop.com>2024-03-12 17:48:23 +0000
committerLeonardo Bishop <me@leonardobishop.com>2024-03-12 17:48:23 +0000
commitaddf95bc7e1e694cd9ba7797c8b0847bfecaf54c (patch)
tree422e96cb24eb3b3ec9d4c96de555b8fa14239c59 /components/editor/quest/OptionsPanel.vue
parent8664ad155c89d47affd94f8b0385ebf39841f1f8 (diff)
Add nuxt prefixes back to component file names
Diffstat (limited to 'components/editor/quest/OptionsPanel.vue')
-rw-r--r--components/editor/quest/OptionsPanel.vue129
1 files changed, 0 insertions, 129 deletions
diff --git a/components/editor/quest/OptionsPanel.vue b/components/editor/quest/OptionsPanel.vue
deleted file mode 100644
index 5aaff23..0000000
--- a/components/editor/quest/OptionsPanel.vue
+++ /dev/null
@@ -1,129 +0,0 @@
-<script setup lang="ts">
-import { useSessionStore, type EditorQuest } from '@/stores/session';
-import { computed, ref } from 'vue';
-
-const props = defineProps<{
- questId: string;
-}>();
-
-const sessionStore = useSessionStore();
-
-const quest = computed(() => {
- return sessionStore.getQuestById(props.questId) as EditorQuest;
-});
-const knownCategories = computed(() => {
- return sessionStore.session.categories.map((category) => category.id);
-});
-const knownQuests = computed(() => {
- return sessionStore.session.quests.map((quest) => quest.id);
-});
-
-</script>
-
-<template>
- <EditorOptionsPanel v-if="quest">
- <div id="options">
- <div class="option-group">
- <label for="quest-category">Category</label>
- <multiselect id="quest-category" v-model="quest.options.category" :options="knownCategories" :searchable="true"
- placeholder="No category"></multiselect>
- </div>
-
- <div class="option-group">
- <label for="quest-requirements">Requirements</label>
- <multiselect id="quest-requirements" v-model="quest.options.requirements" :options="knownQuests"
- :searchable="true" :taggable="true" :multiple="true" placeholder="Add requirement"></multiselect>
- <p class="description">
- This quest will only be available if the player has completed all of the quests listed above.
- </p>
- </div>
-
- <h2>Quest options</h2>
-
- <div class="option-group">
- <Checkbox id="quest-permissionrequired" label="Require permission to start quest"
- description="Players must have permission to start the quest." v-model="quest.options.permissionRequired" />
- </div>
-
- <div class="option-group">
- <Checkbox id="quest-cancellable" label="Allow players to cancel quest"
- description="Players can cancel the quest after they have started it." v-model="quest.options.cancellable" />
- </div>
-
- <div class="option-group">
- <Checkbox id="quest-countstowardslimit" label="Count towards quest limit"
- description="Quest will count towards the player's quest started limit."
- v-model="quest.options.countsTowardsLimit" />
- </div>
-
- <div class="option-group">
- <Checkbox id="quest-repeatable" label="Allow players to repeat quest"
- description="Quest can be completed again after it has been completed once."
- v-model="quest.options.repeatable" />
- </div>
-
- <div class="option-group">
- <Checkbox id="quest-autostart" label="Automatically start quest"
- description="Quest will start automatically when the player has unlocked it."
- v-model="quest.options.autostart" />
- </div>
-
-
- <h2>Cooldown</h2>
-
- <div class="option-group">
- <Checkbox id="quest-cooldown" label="Enable cooldown"
- description="Players will have to wait a certain amount of time before they can start the quest again."
- v-model="quest.options.cooldown.enabled" />
- </div>
-
- <div class="option-group">
- <label for="quest-cooldown-time">
- Cooldown (in seconds)
- </label>
- <input id="quest-cooldown-time" type="number" v-model="quest.options.cooldown.time"
- :disabled="!quest.options.cooldown.enabled" />
- <p class="description">
- Common values are: <code>3600</code> (1 hour), <code>86400</code> (24 hours), <code>604800</code> (7 days),
- <code>2592000</code> (30 days)
- </p>
- </div>
-
- <h2>Time limit</h2>
-
- <div class="option-group">
- <Checkbox id="quest-timelimit" label="Enable time limit"
- description="Players will be required to complete the quest within a certain amount of time, otherwise it will be automatically cancelled."
- v-model="quest.options.timeLimit.enabled" />
- </div>
-
- <div class="option-group">
- <label for="quest-timelimit-time">
- Time limit (in seconds)
- </label>
- <input id="quest-timelimit-time" type="number" v-model="quest.options.timeLimit.time"
- :disabled="!quest.options.timeLimit.enabled" />
- <p class="description">
- Common values are: <code>3600</code> (1 hour), <code>86400</code> (24 hours), <code>604800</code> (7 days),
- <code>2592000</code> (30 days)
- </p>
- </div>
- </div>
- </EditorOptionsPanel>
-</template>
-
-<style>
-#options {
- display: flex;
- flex-direction: column;
- gap: 1rem;
-}
-
-.description {
- font-size: 0.8em;
-}
-
-h2 {
- border-bottom: 1px solid var(--color-border);
-}
-</style>