diff --git a/src/composables/EditGoalDialog.vue b/src/composables/EditGoalDialog.vue index 0b5efb3..a0e1f20 100644 --- a/src/composables/EditGoalDialog.vue +++ b/src/composables/EditGoalDialog.vue @@ -8,6 +8,8 @@ { + if (isNameReserved(goal_name.value)) { + return 'Name is reserved'; + } + + return ''; +}); +function isNameReserved(name: string) { + return name.length && data.reserved_names.some(reserved_name => + reserved_name !== data.goal?.name + && stringCompare(reserved_name, name)); +} + function canSave() { - return goal_name.value?.length > 0 - && !data.reserved_names.some(name => name !== data.goal?.name && stringCompare(name, goal_name.value)); + return !isNameReserved(goal_name.value); } function addTag(value: string, done: Function) { diff --git a/src/composables/EditGoalListDialog.vue b/src/composables/EditGoalListDialog.vue index cbc5026..9441518 100644 --- a/src/composables/EditGoalListDialog.vue +++ b/src/composables/EditGoalListDialog.vue @@ -7,7 +7,9 @@ > - - + @click="deleteGoalList()" + :disabled="!delete_actually_enabled" + > + + Cannot delete goal list with goals + + @@ -83,7 +73,7 @@ color="green" icon="save" label="Save" - @click="saveGoal()" + @click="saveGoalList()" :disabled="!canSave()" /> @@ -95,43 +85,50 @@ bordered > - + diff --git a/src/composables/GameEditorDialog.vue b/src/composables/GameEditorDialog.vue index 7f07078..7770ddd 100644 --- a/src/composables/GameEditorDialog.vue +++ b/src/composables/GameEditorDialog.vue @@ -1,7 +1,7 @@