From 163aee19e5644579e2ce3faa1057d6c2b9d93419 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 25 Oct 2023 23:54:31 +0300 Subject: [PATCH] LIVE UPDATE WORKS YESSSS --- .../expensetrackerfaf/web/package-lock.json | 49 ++++++++++ .../faf223/expensetrackerfaf/web/package.json | 1 + .../routes/dashboard/board/Dashboard.svelte | 57 ++++++++---- .../dashboard/board/graphs/Graph1.svelte | 92 +++++++++++-------- .../infolists/contents/ContentExpense.svelte | 4 +- .../infolists/contents/ContentIncome.svelte | 38 +++++++- .../board/infolists/modals/Modal.svelte | 6 +- .../web/src/routes/dashboard/stores.js | 7 ++ 8 files changed, 185 insertions(+), 69 deletions(-) create mode 100644 src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/stores.js diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/package-lock.json b/src/main/java/com/faf223/expensetrackerfaf/web/package-lock.json index 178425d..c2848dc 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/package-lock.json +++ b/src/main/java/com/faf223/expensetrackerfaf/web/package-lock.json @@ -14,6 +14,7 @@ "chart.js": "^4.4.0", "email-validator": "^2.0.4", "js-cookie": "^3.0.5", + "stores": "^1.0.0", "svelte-cookie": "^1.0.1", "svelte-fa": "^3.0.4", "svelte-simple-modal": "^1.6.1", @@ -975,6 +976,11 @@ "node": ">=4" } }, + "node_modules/curry": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/curry/-/curry-1.2.0.tgz", + "integrity": "sha512-PAdmqPH2DUYTCc/aknv6RxRxmqdRHclvbz+wP8t1Xpg2Nu13qg+oLb6/5iFoDmf4dbmC9loYoy9PwwGbFt/AqA==" + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -1485,6 +1491,11 @@ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", "dev": true }, + "node_modules/graceful-fs-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/graceful-fs-stream/-/graceful-fs-stream-0.0.1.tgz", + "integrity": "sha512-yZ9Lx4O/LbIQ0prZNtXOt97h8ICA2fwPcmSkrjZcOnXKrMzR8ao+kE78N76su0ffaawHLHyFYt75AkgHdVb41Q==" + }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -1785,6 +1796,25 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, "node_modules/mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", @@ -1833,6 +1863,14 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2281,6 +2319,17 @@ "node": ">=0.10.0" } }, + "node_modules/stores": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stores/-/stores-1.0.0.tgz", + "integrity": "sha512-aOWM422mpxSj37uo9R1aVKDF2sDRCzjdbn6CYT/H9BECxuuliALmAZcmRVI9/Wq6Pu/HKDY1xZ+ssSuvY6fLlA==", + "dependencies": { + "curry": "~1.2.0", + "graceful-fs-stream": "0.0.1", + "mkdirp": "^0.5.1", + "on-headers": "^1.0.1" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/package.json b/src/main/java/com/faf223/expensetrackerfaf/web/package.json index 58e962d..4dcd8b3 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/package.json +++ b/src/main/java/com/faf223/expensetrackerfaf/web/package.json @@ -30,6 +30,7 @@ "chart.js": "^4.4.0", "email-validator": "^2.0.4", "js-cookie": "^3.0.5", + "stores": "^1.0.0", "svelte-cookie": "^1.0.1", "svelte-fa": "^3.0.4", "svelte-simple-modal": "^1.6.1", diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/Dashboard.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/Dashboard.svelte index 8849016..c04b686 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/Dashboard.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/Dashboard.svelte @@ -4,33 +4,52 @@ import QuickInfobar from "./other/QuickInfobar.svelte"; import { getCookie } from "svelte-cookie"; import {onMount} from "svelte"; - import {writable} from "svelte/store"; + + import {incomeData} from "../stores.js"; + import {expenseData} from "../stores.js"; + import {incomeTypes} from "../stores.js"; + import axios from "axios"; - const incomeData = writable([]); - const expenseData = writable([]); - onMount(async () => { - if (getCookie('access_token') === null ) { + onMount(() => { + if (getCookie('access_token') === null) { window.location.href = '/auth/login'; } - try { - const response = await axios.get('http://localhost:8081/incomes/personal-incomes', config); - incomeData.set(response.data); - } catch (error) { - console.error('Error fetching income data:', error); - } + const token = getCookie('access_token'); + const config = { + headers: { + 'Authorization': `Bearer ${token}` + } + }; - try { - const response = await axios.get('http://localhost:8081/expenses/personal-expenses', config); - expenseData.set(response.data); - } catch (error) { - console.error('Error fetching expense data:', error); - } + const incomePromise = axios.get('http://localhost:8081/incomes/personal-incomes', config) + .then(response => { + incomeData.set(response.data); + console.log("Received Income Data"); + }) + .catch(error => console.error('Error fetching income data:', error)); - console.log(getCookie('access_token')); - }) + const expensePromise = axios.get('http://localhost:8081/expenses/personal-expenses', config) + .then(response => { + expenseData.set(response.data); + console.log("Received Expense Data"); + }) + .catch(error => console.error('Error fetching expense data:', error)); + + const incomeTypesPromise = axios.get('http://localhost:8081/incomes/categories', config) + .then(response => { + incomeTypes.set(response.data); + console.log("Received Income Type Data"); + }) + .catch(error => console.error('Error:', error)); + + Promise.all([incomePromise, expensePromise, incomeTypesPromise]) + .then(() => { + console.log(getCookie('access_token')); + }); + });
diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/graphs/Graph1.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/graphs/Graph1.svelte index 433a217..56b6e48 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/graphs/Graph1.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/graphs/Graph1.svelte @@ -1,62 +1,78 @@
- -