diff --git a/src/components/utilities/ConfirmationModal.vue b/src/components/utilities/ConfirmationModal.vue new file mode 100644 index 0000000..771a76c --- /dev/null +++ b/src/components/utilities/ConfirmationModal.vue @@ -0,0 +1,67 @@ + + + \ No newline at end of file diff --git a/src/screens/Characters.vue b/src/screens/Characters.vue index 25a8537..0808629 100644 --- a/src/screens/Characters.vue +++ b/src/screens/Characters.vue @@ -3,6 +3,19 @@
+ + + +
- - @@ -79,10 +92,12 @@ import { onBeforeMount, onBeforeUnmount, onMounted, ref } from 'vue' import Modal from '@/components/utilities/Modal.vue' import { type Character as CharacterT } from '@/types' import { useZoneStore } from '@/stores/zone' +import ConfirmationModal from '@/components/utilities/ConfirmationModal.vue' const isLoading = ref(true) const characters = ref([]) const gameStore = useGameStore() +const deletingCharacter = ref(null); // Fetch characters gameStore.connection?.on('character:list', (data: any) => { @@ -101,6 +116,7 @@ onMounted(() => { const selected_character = ref(null) function select_character() { if (!selected_character.value) return + deletingCharacter.value = null; console.log('selected_character', selected_character.value) gameStore.connection?.emit('character:connect', { character_id: selected_character.value }) gameStore.connection?.on('character:connect', (data: CharacterT) => gameStore.setCharacter(data)) @@ -109,6 +125,7 @@ function select_character() { // Delete character logics function delete_character(character_id: number) { if (!character_id) return + deletingCharacter.value = null; gameStore.connection?.emit('character:delete', { character_id: character_id }) }