feat(#14): Wire manual buy/sell to the mammon acquire/consume endpoints
This commit is contained in:
@@ -2,7 +2,9 @@
|
||||
import {Modal} from '@/components';
|
||||
import {formatIsk} from '@/formaters';
|
||||
import {MarketType, MarketTypeLabel} from '@/market';
|
||||
import {ref} from 'vue';
|
||||
import {Ledger, LedgerSelect} from '@/ledger';
|
||||
import {computed, ref} from 'vue';
|
||||
import {fromEveDatetimeInput, toEveDatetimeInput} from './AcquiredType';
|
||||
import {useAcquiredTypesStore} from './acquisition';
|
||||
|
||||
const acquiredTypesStore = useAcquiredTypesStore();
|
||||
@@ -12,11 +14,19 @@ const type = ref<MarketType>();
|
||||
const suggestions = ref<Record<string, number>>({});
|
||||
const price = ref(1000000);
|
||||
const count = ref(1);
|
||||
const date = ref('');
|
||||
const contextLedgerId = ref<string>();
|
||||
const ledger = ref<Ledger>();
|
||||
|
||||
const open = (t: MarketType, s?: Record<string, number> | number) => {
|
||||
const ledgerId = computed(() => contextLedgerId.value ?? ledger.value?.ledgerId);
|
||||
|
||||
const open = (t: MarketType, s?: Record<string, number> | number, ledgerId?: string) => {
|
||||
type.value = t;
|
||||
count.value = 1;
|
||||
|
||||
date.value = toEveDatetimeInput(new Date());
|
||||
contextLedgerId.value = ledgerId;
|
||||
ledger.value = undefined;
|
||||
|
||||
if (typeof s === 'number') {
|
||||
suggestions.value = {};
|
||||
price.value = s;
|
||||
@@ -29,7 +39,7 @@ const open = (t: MarketType, s?: Record<string, number> | number) => {
|
||||
}
|
||||
modalOpen.value = true;
|
||||
}
|
||||
const add = () => {
|
||||
const add = async () => {
|
||||
const id = type.value?.id;
|
||||
|
||||
if (!id) {
|
||||
@@ -37,7 +47,14 @@ const add = () => {
|
||||
return;
|
||||
}
|
||||
|
||||
acquiredTypesStore.addAcquiredType(id, count.value, price.value);
|
||||
const lid = ledgerId.value;
|
||||
|
||||
if (!lid) {
|
||||
return;
|
||||
}
|
||||
|
||||
await acquiredTypesStore.addAcquiredType(id, count.value, price.value, lid, fromEveDatetimeInput(date.value));
|
||||
await acquiredTypesStore.processNewActivities();
|
||||
modalOpen.value = false;
|
||||
}
|
||||
|
||||
@@ -61,7 +78,15 @@ defineExpose({ open });
|
||||
<span>Count: </span>
|
||||
<input class="ms-2" type="number" min="0" step="1" v-model="count" @keyup.enter="add" />
|
||||
</div>
|
||||
<button class="mb-auto" @click="add">Add</button>
|
||||
<div class="flex me-2 mb-auto">
|
||||
<span>Eve Time: </span>
|
||||
<input class="ms-2" type="datetime-local" v-model="date" />
|
||||
</div>
|
||||
<div v-if="!contextLedgerId" class="flex me-2 mb-auto">
|
||||
<span>Ledger: </span>
|
||||
<LedgerSelect class="ms-2" v-model="ledger" />
|
||||
</div>
|
||||
<button class="mb-auto" :disabled="!ledgerId" @click="add">Add</button>
|
||||
</div>
|
||||
</div>
|
||||
</Modal>
|
||||
|
||||
Reference in New Issue
Block a user