feat(#35): Wire toasts into existing user actions
This commit is contained in:
@@ -6,6 +6,7 @@ import {Modal} from "@/components";
|
||||
import LedgerLabel from "./LedgerLabel.vue";
|
||||
import {PlusIcon, TrashIcon} from '@heroicons/vue/24/outline';
|
||||
import LedgerSelect from "@/ledger/LedgerSelect.vue";
|
||||
import {toast} from "@/toast";
|
||||
|
||||
interface Props {
|
||||
ledgerId?: string;
|
||||
@@ -59,18 +60,16 @@ const title = computed(() => {
|
||||
|
||||
const create = () => {
|
||||
if (type.value === LedgerTypes.Main) {
|
||||
ledgersStore.createMain({name: name.value})
|
||||
} else {
|
||||
ledgersStore.createCombined({name: name.value, memberLedgerIds: members.value.map(l => l.ledgerId)})
|
||||
return ledgersStore.createMain({name: name.value})
|
||||
}
|
||||
return ledgersStore.createCombined({name: name.value, memberLedgerIds: members.value.map(l => l.ledgerId)})
|
||||
}
|
||||
|
||||
const update = () => {
|
||||
if (type.value === LedgerTypes.Main) {
|
||||
ledgersStore.updateMain(props.ledgerId, {name: name.value})
|
||||
} else {
|
||||
ledgersStore.updateCombined(props.ledgerId, {name: name.value, memberLedgerIds: members.value.map(l => l.ledgerId)})
|
||||
return ledgersStore.updateMain(props.ledgerId, {name: name.value})
|
||||
}
|
||||
return ledgersStore.updateCombined(props.ledgerId, {name: name.value, memberLedgerIds: members.value.map(l => l.ledgerId)})
|
||||
}
|
||||
|
||||
const save = () => {
|
||||
@@ -78,12 +77,11 @@ const save = () => {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isCreating.value) {
|
||||
create();
|
||||
} else {
|
||||
update();
|
||||
}
|
||||
const creating = isCreating.value;
|
||||
const action = creating ? create() : update();
|
||||
|
||||
modalOpen.value = false;
|
||||
action.then(() => toast.success(creating ? 'Ledger created' : 'Ledger updated'));
|
||||
}
|
||||
|
||||
defineExpose({ open });
|
||||
|
||||
Reference in New Issue
Block a user