From a6ef16b569f14adafbf7a6b4ae8ca6397addd582 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 21 Nov 2023 14:51:49 +0200 Subject: [PATCH] Front upd --- .../expensetrackerfaf/web/package-lock.json | 135 +++++++------- .../faf223/expensetrackerfaf/web/package.json | 3 +- .../web/src/routes/dashboard/+page.svelte | 8 +- .../routes/dashboard/board/Dashboard.svelte | 24 ++- .../dashboard/board/ExpenseDashboard.svelte | 2 +- .../routes/dashboard/board/Settings.svelte | 59 +++++++ .../board/expenses/graphs/Graph2.svelte | 10 +- .../board/expenses/graphs/Graph3.svelte | 66 +++---- .../{contents => }/ContentExpense.svelte | 11 +- .../board/expenses/infolists/Expenses.svelte | 77 ++++---- .../infolists/{modals => }/Modal.svelte | 0 .../board/expenses/other/DataMenu.svelte | 164 +++++++++++++++--- .../board/expenses/other/QuickInfobar.svelte | 9 +- .../board/incomes/graphs/Graph1.svelte | 17 +- .../board/incomes/graphs/Graph3.svelte | 73 ++++---- .../{contents => }/ContentIncome.svelte | 10 +- .../board/incomes/infolists/Incomes.svelte | 78 ++++----- .../infolists/{modals => }/Modal.svelte | 0 .../board/incomes/other/DataMenu.svelte | 164 +++++++++++++++--- .../board/incomes/other/QuickInfobar.svelte | 16 +- .../src/routes/dashboard/menu/SideMenu.svelte | 7 +- .../web/src/routes/dashboard/styles.js | 18 ++ 22 files changed, 636 insertions(+), 315 deletions(-) create mode 100644 src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/Settings.svelte rename src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/infolists/{contents => }/ContentExpense.svelte (94%) rename src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/infolists/{modals => }/Modal.svelte (100%) rename src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/incomes/infolists/{contents => }/ContentIncome.svelte (94%) rename src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/incomes/infolists/{modals => }/Modal.svelte (100%) create mode 100644 src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/styles.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 d2f7873..c7e6810 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/package-lock.json +++ b/src/main/java/com/faf223/expensetrackerfaf/web/package-lock.json @@ -11,10 +11,9 @@ "@fortawesome/free-brands-svg-icons": "^6.4.2", "@fortawesome/free-solid-svg-icons": "^6.4.2", "axios": "^1.5.1", + "bootstrap": "^5.3.2", "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", @@ -579,9 +578,9 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -639,6 +638,16 @@ "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==", "dev": true }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@sveltejs/adapter-auto": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-2.1.0.tgz", @@ -652,9 +661,9 @@ } }, "node_modules/@sveltejs/kit": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.27.0.tgz", - "integrity": "sha512-a1wPIq2uO3RsTmV+KbA4venOgCJDbfHTXFe+g7eJR3N8l46DSuulUONJ1qnk2EnZWYC1Uj3Wbp3US0WFocIzXg==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.25.1.tgz", + "integrity": "sha512-pD8XsvNJNgTNkFngNlM60my/X8dXWPKVzN5RghEQr0NjGZmuCjy49AfFu2cGbZjNf5pBcqd2RCNMW912P5fkhA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -665,12 +674,12 @@ "esm-env": "^1.0.0", "kleur": "^4.1.5", "magic-string": "^0.30.0", - "mrmime": "^1.0.1", + "mime": "^3.0.0", "sade": "^1.8.1", "set-cookie-parser": "^2.6.0", "sirv": "^2.0.2", "tiny-glob": "^0.2.9", - "undici": "~5.26.2" + "undici": "~5.25.0" }, "bin": { "svelte-kit": "svelte-kit.js" @@ -729,9 +738,9 @@ "dev": true }, "node_modules/@types/estree": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz", - "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, "node_modules/acorn": { "version": "8.10.0", @@ -836,6 +845,24 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/bootstrap": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.2.tgz", + "integrity": "sha512-D32nmNWiQHo94BKHLmOrdjlL05q1c8oxbtBphQFb9Z5to6eGRDCm0QgeaZ4zFBHzfg2++rqa2JkqCcxDy0sH0g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -976,11 +1003,6 @@ "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", @@ -1491,11 +1513,6 @@ "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", @@ -1615,14 +1632,6 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/js-cookie": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", - "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", - "engines": { - "node": ">=14" - } - }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -1753,6 +1762,18 @@ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -1784,25 +1805,6 @@ "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", @@ -1851,14 +1853,6 @@ "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", @@ -2307,17 +2301,6 @@ "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", @@ -2355,9 +2338,9 @@ } }, "node_modules/svelte": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.1.tgz", - "integrity": "sha512-LpLqY2Jr7cRxkrTc796/AaaoMLF/1ax7cto8Ot76wrvKQhrPmZ0JgajiWPmg9mTSDqO16SSLiD17r9MsvAPTmw==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.5.tgz", + "integrity": "sha512-P9YPKsGkNdw4OJbtpd1uzimQHPj7Ai2sPcOHmmD6VgkFhFDmcYevQi7vE4cQ1g8/Vs64aL2TwMoCNFAzv7TPaQ==", "dependencies": { "@ampproject/remapping": "^2.2.1", "@jridgewell/sourcemap-codec": "^1.4.15", @@ -2370,7 +2353,7 @@ "estree-walker": "^3.0.3", "is-reference": "^3.0.1", "locate-character": "^3.0.0", - "magic-string": "^0.30.0", + "magic-string": "^0.30.4", "periscopic": "^3.1.0" }, "engines": { @@ -2495,9 +2478,9 @@ } }, "node_modules/undici": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.5.tgz", - "integrity": "sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==", + "version": "5.25.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.25.4.tgz", + "integrity": "sha512-450yJxT29qKMf3aoudzFpIciqpx6Pji3hEWaXqXmanbXF58LTAGCKxcJjxMXWu3iG+Mudgo3ZUfDB6YDFd/dAw==", "dev": true, "dependencies": { "@fastify/busboy": "^2.0.0" diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/package.json b/src/main/java/com/faf223/expensetrackerfaf/web/package.json index c0e2abb..6dd1555 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/package.json +++ b/src/main/java/com/faf223/expensetrackerfaf/web/package.json @@ -26,10 +26,9 @@ "@fortawesome/free-brands-svg-icons": "^6.4.2", "@fortawesome/free-solid-svg-icons": "^6.4.2", "axios": "^1.5.1", + "bootstrap": "^5.3.2", "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/+page.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/+page.svelte index 916c685..42adfe0 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/+page.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/+page.svelte @@ -1,8 +1,8 @@ -
+
- +
\ No newline at end of file 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 59e7331..ac065bf 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 @@ -3,7 +3,16 @@ import { onMount } from "svelte"; import ExpenseDashboard from "./ExpenseDashboard.svelte"; import IncomeDashboard from "./IncomeDashboard.svelte"; + import Settings from "./Settings.svelte"; import { incomeData, expenseData, incomeTypes, expenseTypes, selectedTab } from "../stores.js"; + import {globalStyles} from "../styles.js"; + + let componentStyles; + + $: { + console.log("got here") + componentStyles = $globalStyles; + } import axios from "axios"; @@ -39,27 +48,28 @@ }); -
-
+
{#if $selectedTab === 'expenses'} - + {:else if $selectedTab === 'incomes'} - + + {:else if $selectedTab === 'settings'} + {/if} -
diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/ExpenseDashboard.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/ExpenseDashboard.svelte index aa9e59f..63c3b79 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/ExpenseDashboard.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/ExpenseDashboard.svelte @@ -6,4 +6,4 @@ - \ No newline at end of file + diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/Settings.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/Settings.svelte new file mode 100644 index 0000000..14d6222 --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/Settings.svelte @@ -0,0 +1,59 @@ + + +
+

Settings

+ + + + + + + + + +
+ + \ No newline at end of file diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/graphs/Graph2.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/graphs/Graph2.svelte index e36cf8a..c81928f 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/graphs/Graph2.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/graphs/Graph2.svelte @@ -2,6 +2,7 @@ import Chart from 'chart.js/auto'; import { onMount } from 'svelte'; import { expenseData } from "../../../stores.js"; + import {globalStyles} from "../../../styles.js"; let ctx; let chartCanvas; @@ -73,7 +74,7 @@ }); -
+
@@ -82,9 +83,10 @@ box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); transition: all 0.3s cubic-bezier(.25,.8,.25,1); flex: 1; - border-radius: 10px; - margin: 10px; - background-color: #d3d3d3; + border-radius: 0 0 10px 10px; + margin: 0 0 10px 10px; + min-width: 0; + min-height:0; } #chart:hover { diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/graphs/Graph3.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/graphs/Graph3.svelte index c5c1fb6..ad13d3e 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/graphs/Graph3.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/graphs/Graph3.svelte @@ -2,6 +2,7 @@ import Chart from 'chart.js/auto'; import { onMount } from 'svelte'; import { incomeData, expenseData } from "../../../stores.js"; + import {globalStyles} from "../../../styles.js"; let ctx; let chartCanvas; @@ -15,34 +16,36 @@ const chartLabels = ['Incomes', 'Expenses']; const chartValues = [totalIncomes, totalExpenses]; - ctx = chartCanvas.getContext('2d'); - if (!chart) { - chart = new Chart(ctx, { - type: 'pie', - data: { - labels: chartLabels, - datasets: [{ - data: chartValues, - backgroundColor: [ - 'rgb(243, 188, 0)', - 'rgb(0, 117, 164)' - ], - }] - }, - options: { - responsive: true, - maintainAspectRatio: false - } - }); - } else { - const totalIncomesUpd = $incomeData.reduce((total, item) => total + parseInt(item.amount), 0); - const totalExpensesUpd = $expenseData.reduce((total, item) => total + parseInt(item.amount), 0); + if (chartCanvas.getContext('2d') !== undefined) { + ctx = chartCanvas.getContext('2d'); + if (!chart) { + chart = new Chart(ctx, { + type: 'pie', + data: { + labels: chartLabels, + datasets: [{ + data: chartValues, + backgroundColor: [ + 'rgb(243, 188, 0)', + 'rgb(0, 117, 164)' + ], + }] + }, + options: { + responsive: true, + maintainAspectRatio: false + } + }); + } else { + const totalIncomesUpd = $incomeData.reduce((total, item) => total + parseInt(item.amount), 0); + const totalExpensesUpd = $expenseData.reduce((total, item) => total + parseInt(item.amount), 0); - const chartLabels = ['Incomes', 'Expenses']; - const chartValues = [totalIncomesUpd, totalExpensesUpd]; - chart.data.labels = chartLabels; - chart.data.datasets[0].data = chartValues; - chart.update(); + const chartLabels = ['Incomes', 'Expenses']; + const chartValues = [totalIncomesUpd, totalExpensesUpd]; + chart.data.labels = chartLabels; + chart.data.datasets[0].data = chartValues; + chart.update(); + } } } catch (error) { console.error('Error:', error); @@ -60,7 +63,7 @@ }); -
+
@@ -69,9 +72,10 @@ box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); transition: all 0.3s cubic-bezier(.25,.8,.25,1); flex: 1; - border-radius: 10px; - margin: 10px; - background-color: #d3d3d3; + border-radius: 0 0 10px 10px; + margin: 0 0 10px 10px; + min-width: 0; + min-height:0; } #chart:hover { diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/infolists/contents/ContentExpense.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/infolists/ContentExpense.svelte similarity index 94% rename from src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/infolists/contents/ContentExpense.svelte rename to src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/infolists/ContentExpense.svelte index bd64722..995ceea 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/infolists/contents/ContentExpense.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/infolists/ContentExpense.svelte @@ -1,9 +1,10 @@ -
+
- -
+
    {#each $expenseData as item} -
  • +
  • {item.incomeCategory ? `${item.incomeCategory.name}: ` : `${item.expenseCategory.name}: `} {item.incomeCategory ? `+${item.amount}$` : `-${item.amount}$`} {`${item.date}`} @@ -31,47 +19,58 @@
- diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/infolists/modals/Modal.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/infolists/Modal.svelte similarity index 100% rename from src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/infolists/modals/Modal.svelte rename to src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/infolists/Modal.svelte diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/other/DataMenu.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/other/DataMenu.svelte index cb4257c..1052824 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/other/DataMenu.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/expenses/other/DataMenu.svelte @@ -2,55 +2,163 @@ import Graph2 from '../graphs/Graph2.svelte'; import Graph3 from '../graphs/Graph3.svelte'; import Expenses from "../infolists/Expenses.svelte"; + import {globalStyles} from "../../../styles.js"; + import { slide } from 'svelte/transition' + import {expenseTypes} from "../../../stores.js"; + + let isDateDropdownExpanded = false + let isCategoryDropdownExpanded = false + + function clickHandlerDate() { + isDateDropdownExpanded = !isDateDropdownExpanded + } + + function clickHandlerCategory() { + isCategoryDropdownExpanded = !isCategoryDropdownExpanded; + } + -
-
+
+
+ Revenue Analysis + + + + +
+
+
-
-
+
+
+
+
-
- -
+
diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/incomes/infolists/modals/Modal.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/incomes/infolists/Modal.svelte similarity index 100% rename from src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/incomes/infolists/modals/Modal.svelte rename to src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/incomes/infolists/Modal.svelte diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/incomes/other/DataMenu.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/incomes/other/DataMenu.svelte index 1230a06..64cf655 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/incomes/other/DataMenu.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/incomes/other/DataMenu.svelte @@ -2,55 +2,163 @@ import Graph1 from '../graphs/Graph1.svelte'; import Graph3 from '../graphs/Graph3.svelte'; import Incomes from "../infolists/Incomes.svelte"; + import {globalStyles} from "../../../styles.js"; + import { slide } from 'svelte/transition' + import {incomeTypes} from "../../../stores.js"; + + let isDateDropdownExpanded = false + let isCategoryDropdownExpanded = false + + function clickHandlerDate() { + isDateDropdownExpanded = !isDateDropdownExpanded + } + + function clickHandlerCategory() { + isCategoryDropdownExpanded = !isCategoryDropdownExpanded; + } + -
-
+
+
+ Revenue Analysis + + + + +
+
+
-
-
+
+
+
+
-
- -
+