From 3ac39dcd459c5d58c0ae6ebab5144c2d01ab71fe Mon Sep 17 00:00:00 2001 From: Sirttas Date: Mon, 18 Sep 2023 11:00:51 +0200 Subject: [PATCH] line colors --- src/market/MarketResultTable.vue | 26 ++++++++++++++++++++++++-- src/reprocess/ReprocessResultTable.vue | 2 +- src/style.css | 26 ++++++++++++++++++++------ 3 files changed, 45 insertions(+), 9 deletions(-) diff --git a/src/market/MarketResultTable.vue b/src/market/MarketResultTable.vue index 060352f..11242e2 100644 --- a/src/market/MarketResultTable.vue +++ b/src/market/MarketResultTable.vue @@ -8,6 +8,18 @@ import { computed, ref } from 'vue'; import { MarketResult, getHistoryQuartils } from "."; import { MarketType, MarketTypeLabel } from "./type"; +type Result = { + type: MarketType; + typeID: number; + name: string; + buy: number; + sell: number; + q1: number; + mmedian: number; + q3: number; + percent: number; +} + interface Props { items?: MarketResult[]; } @@ -24,7 +36,7 @@ defineEmits(); const days = useStorage('market-days', 365); const filter = ref(""); -const { sortedArray, headerProps } = useSort(computed(() => props.items +const { sortedArray, headerProps } = useSort(computed(() => props.items .filter(r => r.type.name.toLowerCase().includes(filter.value.toLowerCase())) .map(r => { const quartils = getHistoryQuartils(r.history, days.value); @@ -44,6 +56,16 @@ const { sortedArray, headerProps } = useSort(computed(() => props.items defaultSortKey: 'name', defaultSortDirection: 'asc' }) +const getLineColor = (result: Result) => { + if (result.percent < 1.1) { + return 'line-red'; + } else if (result.sell <= result.q1) { + return 'line-blue'; + } else if (result.buy <= result.q1) { + return 'line-green'; + } + return ''; +}