type info

This commit is contained in:
2023-11-07 11:00:08 +01:00
parent 75f70cfd25
commit ee6bbfd442
12 changed files with 179 additions and 29 deletions

View File

@@ -3,7 +3,7 @@ import { SliderCheckbox } from '@/components';
import { SortableHeader, useSort } from '@/components/table';
import { formatIsk, percentFormater } from '@/formaters';
import { MarketType, MarketTypeLabel, TaxInput, useMarketTaxStore } from "@/market";
import { ShoppingCartIcon, TrashIcon } from '@heroicons/vue/24/outline';
import { BookmarkSlashIcon, ShoppingCartIcon } from '@heroicons/vue/24/outline';
import { useStorage } from '@vueuse/core';
import { computed, ref } from 'vue';
import { ScanResult, getHistoryQuartils } from '.';
@@ -23,6 +23,7 @@ type Result = {
interface Props {
items?: ScanResult[];
infoOnly?: boolean;
}
interface Emits {
@@ -35,7 +36,8 @@ const scoreFormater = new Intl.NumberFormat("en-US", {
});
const props = withDefaults(defineProps<Props>(), {
items: () => []
items: () => [],
infoOnly: false
});
defineEmits<Emits>();
@@ -69,7 +71,9 @@ const { sortedArray, headerProps } = useSort<Result>(computed(() => props.items
defaultSortDirection: 'desc'
})
const getLineColor = (result: Result) => {
if (result.profit < (threshold.value / 100)) {
if (props.infoOnly) {
return '';
} else if (result.profit < (threshold.value / 100)) {
return 'line-red';
} else if (result.sell > 0 && result.sell <= result.q1) {
return 'line-blue';
@@ -81,7 +85,7 @@ const getLineColor = (result: Result) => {
</script>
<template>
<div class="flex mb-2 mt-4">
<div v-if="!infoOnly" class="flex mb-2 mt-4">
<div class="flex justify-self-end ms-auto">
<TaxInput />
<div class="end">
@@ -112,7 +116,7 @@ const getLineColor = (result: Result) => {
<SortableHeader v-bind="headerProps" sortKey="q3">Q3</SortableHeader>
<SortableHeader v-bind="headerProps" sortKey="profit">Profit</SortableHeader>
<SortableHeader v-bind="headerProps" sortKey="score">Score</SortableHeader>
<th></th>
<th v-if="!infoOnly"></th>
</tr>
</thead>
<tbody>
@@ -127,9 +131,9 @@ const getLineColor = (result: Result) => {
<td class="text-right">{{ formatIsk(r.q3) }}</td>
<td class="text-right">{{ percentFormater.format(r.profit) }}</td>
<td class="text-right">{{ scoreFormater.format(r.score) }}</td>
<td class="text-right">
<td v-if="!infoOnly" class="text-right">
<button class="btn-icon me-1" @click="$emit('buy', r.type, r.buy, r.sell)"><ShoppingCartIcon /></button>
<button class="btn-icon me-1" @click="$emit('remove', r.type)"><TrashIcon /></button>
<button class="btn-icon me-1" @click="$emit('remove', r.type)"><BookmarkSlashIcon /></button>
</td>
</tr>
</tbody>