rework store usage

This commit is contained in:
Sirttas
2026-06-11 20:02:15 +02:00
parent f3cb4798d5
commit dd031551ca
13 changed files with 46 additions and 63 deletions
+7 -10
View File
@@ -1,7 +1,6 @@
<script setup lang="ts">
import {computed, ref} from "vue";
import {storeToRefs} from "pinia";
import {isCombined, Ledger, LedgerType, LedgerTypes, useLedgersStore} from "./ledger";
import {Modal} from "@/components";
import LedgerLabel from "./LedgerLabel.vue";
@@ -15,8 +14,6 @@ interface Props {
const props = defineProps<Props>();
const ledgersStore = useLedgersStore();
const {ledgers} = storeToRefs(ledgersStore);
const {findById, findAllById, createMain, createCombined, updateMain, updateCombined} = ledgersStore;
const modalOpen = ref<boolean>(false);
@@ -24,7 +21,7 @@ const type = ref<LedgerType>(LedgerTypes.Main);
const name = ref("");
const members = ref<Ledger[]>([]);
const selectedLedger = ref<Ledger>();
const availableLedgers = computed(() => ledgers.value
const availableLedgers = computed(() => ledgersStore.ledgers
.filter(l => l.ledgerId !== props.ledgerId)
.filter(l => !members.value.includes(l)));
@@ -37,12 +34,12 @@ const addMember = () => {
}
const open = () => {
const ledger = isCreating.value ? undefined : findById(props.ledgerId);
const ledger = isCreating.value ? undefined : ledgersStore.findById(props.ledgerId);
if (ledger) {
type.value = ledger.type;
name.value = ledger.name;
members.value = isCombined(ledger) ? findAllById(ledger.memberLedgerIds) : [];
members.value = isCombined(ledger) ? ledgersStore.findAllById(ledger.memberLedgerIds) : [];
} else {
type.value = LedgerTypes.Main;
name.value = "";
@@ -62,17 +59,17 @@ const title = computed(() => {
const create = () => {
if (type.value === LedgerTypes.Main) {
createMain({name: name.value})
ledgersStore.createMain({name: name.value})
} else {
createCombined({name: name.value, memberLedgerIds: members.value.map(l => l.ledgerId)})
ledgersStore.createCombined({name: name.value, memberLedgerIds: members.value.map(l => l.ledgerId)})
}
}
const update = () => {
if (type.value === LedgerTypes.Main) {
updateMain(props.ledgerId, {name: name.value})
ledgersStore.updateMain(props.ledgerId, {name: name.value})
} else {
updateCombined(props.ledgerId, {name: name.value, memberLedgerIds: members.value.map(l => l.ledgerId)})
ledgersStore.updateCombined(props.ledgerId, {name: name.value, memberLedgerIds: members.value.map(l => l.ledgerId)})
}
}