diff options
Diffstat (limited to 'components/editor/quest/modal/Duplicate.vue')
| -rw-r--r-- | components/editor/quest/modal/Duplicate.vue | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/components/editor/quest/modal/Duplicate.vue b/components/editor/quest/modal/Duplicate.vue deleted file mode 100644 index 73a2fd0..0000000 --- a/components/editor/quest/modal/Duplicate.vue +++ /dev/null @@ -1,58 +0,0 @@ -<script setup lang="ts"> -import { computed, ref } from 'vue'; -import { useSessionStore } from '@/stores/session'; - -const model = defineModel(); - -const emit = defineEmits(['duplicate']); - -const props = defineProps({ - questId: String, -}); - -const session = useSessionStore(); - -const newQuestId = ref(props.questId); - -const isDuplicate = computed(() => { - return session.getQuestById(newQuestId.value!) !== undefined; -}); - -</script> - -<template> - <Modal v-model="model"> - <template v-slot:header> - <h2>Duplicate '{{ questId }}'</h2> - </template> - - <template v-slot:body> - <div id="body"> - <div class="option-group"> - <label for="new-type">ID of new quest</label> - <input id="new-type" name="new-type" type="text" v-model="newQuestId" /> - </div> - <p v-if="isDuplicate" class="error-text">Name is not unique.</p> - <p>A Quest ID must be unique, alphanumeric, and not contain any spaces.</p> - <div id="confirm" class="control-group"> - <Button :icon="['fas', 'times']" :label="'Cancel'" @click="model = false"></Button> - <Button type="solid" :icon="['fas', 'check']" :label="'Duplicate'" :disabled="isDuplicate" - @click="emit('duplicate', newQuestId)"></Button> - </div> - </div> - </template> - </Modal> -</template> - -<style scoped> -#confirm { - display: flex; - justify-content: flex-end; -} - -#body { - display: flex; - flex-direction: column; - gap: 0.5rem; -} -</style>
\ No newline at end of file |
