From 2b513a91b0b7d661fde2e86b877cc264f1c3550b Mon Sep 17 00:00:00 2001 From: Sirttas Date: Mon, 2 Oct 2023 09:52:11 +0200 Subject: [PATCH] add taxes --- src/market/index.ts | 1 + src/market/scan/ScanResultTable.vue | 7 +++++-- src/market/scan/scan.ts | 2 +- src/market/tax/TaxInput.vue | 24 ++++++++++++++++++++++++ src/market/tax/index.ts | 4 ++++ src/market/tax/tax.ts | 12 ++++++++++++ src/market/track/TrackResultTable.vue | 7 +++++-- src/pages/market/Scan.vue | 4 ++-- 8 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 src/market/tax/TaxInput.vue create mode 100644 src/market/tax/index.ts create mode 100644 src/market/tax/tax.ts diff --git a/src/market/index.ts b/src/market/index.ts index 5939b8c..7af412b 100644 --- a/src/market/index.ts +++ b/src/market/index.ts @@ -1,3 +1,4 @@ +export * from './tax'; export * from './type'; export * from './MarketOrderHistory'; diff --git a/src/market/scan/ScanResultTable.vue b/src/market/scan/ScanResultTable.vue index 33889d9..ccf1fb1 100644 --- a/src/market/scan/ScanResultTable.vue +++ b/src/market/scan/ScanResultTable.vue @@ -1,6 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/market/tax/index.ts b/src/market/tax/index.ts new file mode 100644 index 0000000..e2b8eab --- /dev/null +++ b/src/market/tax/index.ts @@ -0,0 +1,4 @@ +export * from './tax'; + +export { default as TaxInput } from './TaxInput.vue'; + diff --git a/src/market/tax/tax.ts b/src/market/tax/tax.ts new file mode 100644 index 0000000..4942feb --- /dev/null +++ b/src/market/tax/tax.ts @@ -0,0 +1,12 @@ +import { useLocalStorage } from "@vueuse/core"; +import { defineStore } from "pinia"; + +export const useMarketTaxStore = defineStore("marketTax", () => { + const brokerFee = useLocalStorage("market-brokerFee", 1.5); + const scc = useLocalStorage("market-scc", 3.6); + + const applyTaxes = (price: number, sellOrder?: boolean) => sellOrder ? price * (1 - (brokerFee.value + scc.value) / 100) : price * (1 + brokerFee.value / 100); + const calculateProfit = (buy: number, sell: number) => (applyTaxes(sell, true) / applyTaxes(buy)) - 1; + + return { brokerFee, scc, applyTaxes, calculateProfit }; +}); \ No newline at end of file diff --git a/src/market/track/TrackResultTable.vue b/src/market/track/TrackResultTable.vue index 2d11393..53b135f 100644 --- a/src/market/track/TrackResultTable.vue +++ b/src/market/track/TrackResultTable.vue @@ -1,6 +1,6 @@