From 5440b0831daf651a5d58a066c2ba2513ede686c1 Mon Sep 17 00:00:00 2001 From: Spythere Date: Tue, 11 Mar 2025 20:17:33 +0100 Subject: [PATCH] chore: shortening bookmarked stock string preview --- src/components/tabs/StorageTab.vue | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/components/tabs/StorageTab.vue b/src/components/tabs/StorageTab.vue index 5d0bfa3..cec127d 100644 --- a/src/components/tabs/StorageTab.vue +++ b/src/components/tabs/StorageTab.vue @@ -45,12 +45,7 @@
{{ $t('storage.stock-title') }} - {{ - storageEntry.stockString - .split(';') - .map((s) => s.split(/:|,/)[0]) - .join(' + ') - }} + {{ shortenStockString(storageEntry.stockString) }}
@@ -106,6 +101,19 @@ export default defineComponent({ }, methods: { + shortenStockString(stockString: string) { + return Array.from( + stockString.split(';').reduce( + (acc, s) => { + const stockName = s.split(/:|,/)[0]; + acc.set(stockName, (acc.get(stockName) ?? 0) + 1); + + return acc; + }, + new Map() as Map + ) + ).map(([stockName, count]) => `${count}x ${stockName.replace(/_/g, ' ')}`).join(', '); + }, removeStockIndexFromStorage(stockName: string) { let removeConfirm = confirm(this.$t('storage.remove-confirm'));