From ddeb9544d4b450e82a101c5a696765037018538a Mon Sep 17 00:00:00 2001 From: mirrerror Date: Wed, 25 Oct 2023 11:33:53 +0300 Subject: [PATCH 01/17] update .gitignore --- .gitignore | 4 ++-- .../com/faf223/expensetrackerfaf/web/package-lock.json | 8 ++++---- .../java/com/faf223/expensetrackerfaf/web/package.json | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 890199e..68c1a68 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ target/ !**/src/main/**/target/ !**/src/test/**/target/ /src/main/resources/application.properties +/src/main/java/web/src/package.json +/src/main/java/web/src/package-lock.json ### STS ### .apt_generated @@ -32,5 +34,3 @@ build/ ### VS Code ### .vscode/ - -/src/main/resources/application.properties 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 58c9edf..743c5b0 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/package-lock.json +++ b/src/main/java/com/faf223/expensetrackerfaf/web/package-lock.json @@ -25,7 +25,7 @@ "prettier": "^2.8.0", "prettier-plugin-svelte": "^2.10.1", "svelte": "^4.0.5", - "vite": "^4.4.2" + "vite": "^4.5.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -2371,9 +2371,9 @@ "dev": true }, "node_modules/vite": { - "version": "4.4.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz", - "integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", + "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", "dev": true, "dependencies": { "esbuild": "^0.18.10", diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/package.json b/src/main/java/com/faf223/expensetrackerfaf/web/package.json index 556c627..7cadf1d 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/package.json +++ b/src/main/java/com/faf223/expensetrackerfaf/web/package.json @@ -20,7 +20,7 @@ "prettier": "^2.8.0", "prettier-plugin-svelte": "^2.10.1", "svelte": "^4.0.5", - "vite": "^4.4.2" + "vite": "^4.5.0" }, "type": "module", "dependencies": { From a9d2d914b8aaef37357f6338a11d752ae0ceacc1 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 25 Oct 2023 18:11:15 +0300 Subject: [PATCH 02/17] Implemented Modals <= flekschas/svelte-simple-modal --- .../expensetrackerfaf/web/package-lock.json | 38 +++++++------------ .../faf223/expensetrackerfaf/web/package.json | 1 + .../routes/dashboard/board/Dashboard.svelte | 6 +-- .../board/{ => infolists}/Expenses.svelte | 1 + .../board/{ => infolists}/Incomes.svelte | 29 +++++++++++++- .../board/{ => other}/DashHeader.svelte | 0 .../board/{ => other}/DataMenu.svelte | 10 ++--- .../board/{ => other}/QuickInfobar.svelte | 0 8 files changed, 50 insertions(+), 35 deletions(-) rename src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/{ => infolists}/Expenses.svelte (98%) rename src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/{ => infolists}/Incomes.svelte (70%) rename src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/{ => other}/DashHeader.svelte (100%) rename src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/{ => other}/DataMenu.svelte (81%) rename src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/{ => other}/QuickInfobar.svelte (100%) 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 d332004..178425d 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/package-lock.json +++ b/src/main/java/com/faf223/expensetrackerfaf/web/package-lock.json @@ -16,6 +16,7 @@ "js-cookie": "^3.0.5", "svelte-cookie": "^1.0.1", "svelte-fa": "^3.0.4", + "svelte-simple-modal": "^1.6.1", "svelte-spa-router": "^3.3.0" }, "devDependencies": { @@ -45,7 +46,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -547,7 +547,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -561,7 +560,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -570,7 +568,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -578,14 +575,12 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "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==", - "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -735,14 +730,12 @@ "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==", - "dev": true + "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==" }, "node_modules/acorn": { "version": "8.10.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -809,7 +802,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, "dependencies": { "dequal": "^2.0.3" } @@ -833,7 +825,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "dev": true, "dependencies": { "dequal": "^2.0.3" } @@ -894,7 +885,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", - "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15", "@types/estree": "^1.0.1", @@ -965,7 +955,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, "dependencies": { "mdn-data": "2.0.30", "source-map-js": "^1.0.1" @@ -1030,7 +1019,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, "engines": { "node": ">=6" } @@ -1298,7 +1286,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, "dependencies": { "@types/estree": "^1.0.0" } @@ -1607,7 +1594,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", - "dev": true, "dependencies": { "@types/estree": "*" } @@ -1705,8 +1691,7 @@ "node_modules/locate-character": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", - "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", - "dev": true + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==" }, "node_modules/locate-path": { "version": "6.0.0", @@ -1745,7 +1730,6 @@ "version": "0.30.4", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz", "integrity": "sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==", - "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, @@ -1756,8 +1740,7 @@ "node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" }, "node_modules/mime": { "version": "3.0.0", @@ -1949,7 +1932,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", - "dev": true, "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^3.0.0", @@ -2295,7 +2277,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2340,7 +2321,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.1.tgz", "integrity": "sha512-LpLqY2Jr7cRxkrTc796/AaaoMLF/1ax7cto8Ot76wrvKQhrPmZ0JgajiWPmg9mTSDqO16SSLiD17r9MsvAPTmw==", - "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.1", "@jridgewell/sourcemap-codec": "^1.4.15", @@ -2409,6 +2389,14 @@ "svelte": "^3.19.0 || ^4.0.0" } }, + "node_modules/svelte-simple-modal": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/svelte-simple-modal/-/svelte-simple-modal-1.6.1.tgz", + "integrity": "sha512-D4/Z7LQ6ThawYb7FlAeS/qGbcwVlqzRHn1zZgWPlEK0cp4l2UMcscqel58mp+gTuk4UX9gl516GYXcHFvuyslA==", + "peerDependencies": { + "svelte": "^3.30.0 || ^4.0.0" + } + }, "node_modules/svelte-spa-router": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/svelte-spa-router/-/svelte-spa-router-3.3.0.tgz", diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/package.json b/src/main/java/com/faf223/expensetrackerfaf/web/package.json index ee464f0..58e962d 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/package.json +++ b/src/main/java/com/faf223/expensetrackerfaf/web/package.json @@ -32,6 +32,7 @@ "js-cookie": "^3.0.5", "svelte-cookie": "^1.0.1", "svelte-fa": "^3.0.4", + "svelte-simple-modal": "^1.6.1", "svelte-spa-router": "^3.3.0" } } 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 cd19337..163166d 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 @@ -1,7 +1,7 @@
-

Incomes

+ +
lololol
+
+
+

Incomes

+
{ + deleteCookie('access_token'); + deleteCookie('refresh_token'); + window.location.href = '/auth/login';}} + on:keydown={e => { + if (e.key === 'Enter' || e.key === ' ') { + deleteCookie('access_token'); + deleteCookie('refresh_token'); + window.location.href = '/auth/login'; + }}}> + Log out +
+
+
    {#each data as item} diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/DashHeader.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/DashHeader.svelte similarity index 100% rename from src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/DashHeader.svelte rename to src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/DashHeader.svelte diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/DataMenu.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/DataMenu.svelte similarity index 81% rename from src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/DataMenu.svelte rename to src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/DataMenu.svelte index e09ea12..f2f2009 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/DataMenu.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/DataMenu.svelte @@ -1,9 +1,9 @@
    diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/QuickInfobar.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/QuickInfobar.svelte similarity index 100% rename from src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/QuickInfobar.svelte rename to src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/QuickInfobar.svelte From 3363d299c36855fa49eb60c5744d69780d8c562d Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 25 Oct 2023 18:22:12 +0300 Subject: [PATCH 03/17] Fixed popup bad imports --- .../dashboard/board/infolists/Incomes.svelte | 45 +++++++------------ .../dashboard/board/infolists/Popup.svelte | 3 ++ 2 files changed, 18 insertions(+), 30 deletions(-) create mode 100644 src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Popup.svelte diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte index 64f3332..cc2a6f6 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte @@ -1,12 +1,10 @@
    - -
    lololol
    -
    -
    -

    Incomes

    + +
    +

    Incomes

    { - deleteCookie('access_token'); - deleteCookie('refresh_token'); - window.location.href = '/auth/login';}} - on:keydown={e => { - if (e.key === 'Enter' || e.key === ' ') { - deleteCookie('access_token'); - deleteCookie('refresh_token'); - window.location.href = '/auth/login'; - }}}> + on:click={showSurprise()} + on:keydown={() => console.log("keydown")}> Log out
    @@ -70,7 +58,13 @@
    diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentExpense.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentExpense.svelte new file mode 100644 index 0000000..84c5761 --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentExpense.svelte @@ -0,0 +1,33 @@ + + +
    +

    Expenses

    +
    console.log("keydown")}> + Log out +
    +
    + + \ No newline at end of file diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte new file mode 100644 index 0000000..cb26afc --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte @@ -0,0 +1,33 @@ + + +
    +

    Incomes

    +
    console.log("keydown")}> + Log out +
    +
    + + \ No newline at end of file diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Popup.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/ExpensePopup.svelte similarity index 100% rename from src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Popup.svelte rename to src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/ExpensePopup.svelte diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/IncomePopup.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/IncomePopup.svelte new file mode 100644 index 0000000..e13aeb4 --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/IncomePopup.svelte @@ -0,0 +1,5 @@ + + +

    🎉 {message} 🍾

    \ No newline at end of file From 57b21bddc3f9a9163eba7a6d2035093a27057a8d Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 25 Oct 2023 19:59:53 +0300 Subject: [PATCH 07/17] Replaced svelte-simple-modal with own implementation of modals --- .../dashboard/board/infolists/Expenses.svelte | 8 +-- .../dashboard/board/infolists/Incomes.svelte | 8 +-- .../infolists/contents/ContentExpense.svelte | 59 +++++++++++++---- .../infolists/contents/ContentIncome.svelte | 65 ++++++++++++++----- .../board/infolists/modals/Modal.svelte | 64 ++++++++++++++++++ .../infolists/popups/ExpensePopup.svelte | 5 -- .../board/infolists/popups/IncomePopup.svelte | 5 -- 7 files changed, 162 insertions(+), 52 deletions(-) create mode 100644 src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/modals/Modal.svelte delete mode 100644 src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/ExpensePopup.svelte delete mode 100644 src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/IncomePopup.svelte diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Expenses.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Expenses.svelte index 238b2d7..87eba6f 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Expenses.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Expenses.svelte @@ -1,10 +1,8 @@
    - +
      diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte index ff8ba77..f26626f 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte @@ -1,10 +1,10 @@
      - +
        diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentExpense.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentExpense.svelte index 84c5761..68ab77c 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentExpense.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentExpense.svelte @@ -1,33 +1,64 @@

        Expenses

        -
        console.log("keydown")}> - Log out +
        (showModal = true)} on:keydown={() => console.log("keydown")}> + +
        + +

        + modal + adjective mod·al \ˈmō-dəl\ +

        + +
          +
        1. of or relating to modality in logic
        2. +
        3. + containing provisions as to the mode of procedure or the manner of taking effect —used of a + contract or legacy +
        4. +
        5. of or relating to a musical mode
        6. +
        7. of or relating to structure as opposed to substance
        8. +
        9. + of, relating to, or constituting a grammatical form or category characteristically indicating + predication +
        10. +
        11. of or relating to a statistical mode
        12. +
        + + merriam-webster.com +
        \ No newline at end of file + diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte index cb26afc..4852762 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte @@ -1,33 +1,64 @@ -
        -

        Incomes

        -
        console.log("keydown")}> - Log out +
        +

        Expenses

        +
        (showModal = true)} on:keydown={() => console.log("keydown")}> + +
        + +

        + modal + adjective mod·al \ˈmō-dəl\ +

        + +
          +
        1. of or relating to modality in logic
        2. +
        3. + containing provisions as to the mode of procedure or the manner of taking effect —used of a + contract or legacy +
        4. +
        5. of or relating to a musical mode
        6. +
        7. of or relating to structure as opposed to substance
        8. +
        9. + of, relating to, or constituting a grammatical form or category characteristically indicating + predication +
        10. +
        11. of or relating to a statistical mode
        12. +
        + + merriam-webster.com +
        \ No newline at end of file + diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/modals/Modal.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/modals/Modal.svelte new file mode 100644 index 0000000..9d0c5fe --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/modals/Modal.svelte @@ -0,0 +1,64 @@ + + + + (showModal = false)} + on:click|self={() => dialog.close()} +> + +
        + +
        + +
        + + +
        +
        + + diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/ExpensePopup.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/ExpensePopup.svelte deleted file mode 100644 index e13aeb4..0000000 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/ExpensePopup.svelte +++ /dev/null @@ -1,5 +0,0 @@ - - -

        🎉 {message} 🍾

        \ No newline at end of file diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/IncomePopup.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/IncomePopup.svelte deleted file mode 100644 index e13aeb4..0000000 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/popups/IncomePopup.svelte +++ /dev/null @@ -1,5 +0,0 @@ - - -

        🎉 {message} 🍾

        \ No newline at end of file From 5a71be29ff56c41ca8fe6541eefd5d5ce9de563a Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 25 Oct 2023 20:09:24 +0300 Subject: [PATCH 08/17] Added requests to modals --- .../dashboard/board/infolists/Expenses.svelte | 4 - .../dashboard/board/infolists/Incomes.svelte | 5 -- .../infolists/contents/ContentIncome.svelte | 85 ++++++++++++++----- 3 files changed, 62 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Expenses.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Expenses.svelte index 87eba6f..9ea968a 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Expenses.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Expenses.svelte @@ -55,10 +55,6 @@ flex-direction: column; } - #modal { - position: sticky; - } - #expenseList { margin-top: 10px; scrollbar-width: none; diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte index f26626f..6a6ccd2 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte @@ -3,7 +3,6 @@ import { onMount, afterUpdate } from 'svelte'; import axios from 'axios'; import {getCookie} from "svelte-cookie"; - import ContentExpense from "./contents/ContentExpense.svelte"; import ContentIncome from "./contents/ContentIncome.svelte"; let data = []; @@ -51,10 +50,6 @@
        + \ No newline at end of file diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte index 6216c4b..5935585 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte @@ -6,7 +6,7 @@ import { getCookie } from "svelte-cookie"; let showModal; - let amount; + let amount = ''; const selectedIncomeId = writable(''); @@ -34,7 +34,7 @@ const selectedIncome = $incomeOptions.find(income => income.id === $selectedIncomeId); const data = { incomeCategory: selectedIncome.id, - amount: $amount, + amount: amount, }; try { @@ -62,7 +62,7 @@

        Incomes

        -
        (showModal = true)} on:keydown={() => console.log("keydown")}> +
        (showModal = true)} on:keydown={() => console.log("keydown")}> +
        @@ -112,4 +112,4 @@ z-index: 1; margin: 0; } - + \ No newline at end of file From 485bd6b9ba58614721e6dc481415264a59d172e6 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 25 Oct 2023 21:07:20 +0300 Subject: [PATCH 11/17] Prettier income/expense forms --- .../dashboard/board/graphs/Graph1.svelte | 28 ++++- .../infolists/contents/ContentExpense.svelte | 116 +++++++++++++----- .../infolists/contents/ContentIncome.svelte | 114 ++++++++++++----- 3 files changed, 194 insertions(+), 64 deletions(-) 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 a981296..1271447 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 @@ -2,13 +2,12 @@ import Chart from 'chart.js/auto'; import { onMount } from 'svelte'; import axios from 'axios'; - import {getCookie} from "svelte-cookie"; + import { getCookie } from "svelte-cookie"; let ctx; let chartCanvas; onMount(async () => { - const token = getCookie('access_token'); const config = { @@ -19,11 +18,28 @@ try { const response = await axios.get('http://localhost:8081/incomes/personal-incomes', config); - console.log(response.data); const incomeData = response.data; - const chartLabels = incomeData.map(item => item.incomeCategory.name); - const chartValues = incomeData.map(item => item.amount); + // Create a function to group and sum incomes by category + function groupAndSumByCategory(incomes) { + const groupedData = new Map(); + incomes.forEach(income => { + const category = income.incomeCategory.name; + if (groupedData.has(category)) { + groupedData.set(category, groupedData.get(category) + income.amount); + } else { + groupedData.set(category, income.amount); + } + }); + return groupedData; + } + + // Group and sum incomes by category + const groupedIncomeData = groupAndSumByCategory(incomeData); + + // Extract category names and summed values + const chartLabels = Array.from(groupedIncomeData.keys()); + const chartValues = Array.from(groupedIncomeData.values()); ctx = chartCanvas.getContext('2d'); new Chart(ctx, { @@ -51,6 +67,8 @@
        + + \ No newline at end of file + + h3 { + font-size: 20px; + margin-bottom: 20px; + } + + .form-group { + margin-bottom: 15px; + } + + label { + display: block; + font-weight: bold; + margin-bottom: 5px; + } + + .form-control { + width: 100%; + padding: 10px; + border: 1px solid #ccc; + border-radius: 5px; + } + + select.form-control { + height: 40px; + } + + .btn { + background-color: #007BFF; + color: #fff; + border: none; + border-radius: 5px; + padding: 10px 20px; + cursor: pointer; + } + + .btn:hover { + background-color: #0056b3; + } + diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte index 5935585..ece775c 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/contents/ContentIncome.svelte @@ -61,55 +61,111 @@
        -

        Incomes

        -
        (showModal = true)} on:keydown={() => console.log("keydown")}> - + +
        +

        Incomes

        +
        (showModal = true)} on:keydown={() => console.log("keydown")}> + + +
        -
        - - +
        +

        Income Details

        +
        + + +
        - - +
        + + +
        - +
        + \ No newline at end of file + + h3 { + font-size: 20px; + margin-bottom: 20px; + } + + .form-group { + margin-bottom: 15px; + } + + label { + display: block; + font-weight: bold; + margin-bottom: 5px; + } + + .form-control { + width: 100%; + padding: 10px; + border: 1px solid #ccc; + border-radius: 5px; + } + + select.form-control { + height: 40px; + } + + .btn { + background-color: #007BFF; + color: #fff; + border: none; + border-radius: 5px; + padding: 10px 20px; + cursor: pointer; + } + + .btn:hover { + background-color: #0056b3; + } + From 0a4ff6193520ac71b23cad6809b7fd300741516d Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 25 Oct 2023 21:14:24 +0300 Subject: [PATCH 12/17] Small modal and request fixes --- .../web/src/routes/dashboard/board/graphs/Graph1.svelte | 9 ++++----- .../web/src/routes/dashboard/board/graphs/Graph2.svelte | 7 ++++--- .../web/src/routes/dashboard/board/graphs/Graph3.svelte | 6 ++++-- .../src/routes/dashboard/board/infolists/Expenses.svelte | 5 +++-- .../src/routes/dashboard/board/infolists/Incomes.svelte | 5 +++-- .../web/src/routes/dashboard/board/other/DataMenu.svelte | 8 ++++++++ 6 files changed, 26 insertions(+), 14 deletions(-) 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 1271447..0d1fa43 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 @@ -7,7 +7,7 @@ let ctx; let chartCanvas; - onMount(async () => { + async function updateGraph() { const token = getCookie('access_token'); const config = { @@ -20,7 +20,6 @@ const response = await axios.get('http://localhost:8081/incomes/personal-incomes', config); const incomeData = response.data; - // Create a function to group and sum incomes by category function groupAndSumByCategory(incomes) { const groupedData = new Map(); incomes.forEach(income => { @@ -34,10 +33,8 @@ return groupedData; } - // Group and sum incomes by category const groupedIncomeData = groupAndSumByCategory(incomeData); - // Extract category names and summed values const chartLabels = Array.from(groupedIncomeData.keys()); const chartValues = Array.from(groupedIncomeData.values()); @@ -60,7 +57,9 @@ } catch (error) { console.error('Error:', error); } - }); + } + + onMount(updateGraph);
        diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/graphs/Graph2.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/graphs/Graph2.svelte index 98a362c..fe935a6 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/graphs/Graph2.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/graphs/Graph2.svelte @@ -7,8 +7,7 @@ let ctx; let chartCanvas; - onMount(async () => { - + async function updateGraph() { const token = getCookie('access_token'); const config = { @@ -65,7 +64,9 @@ } catch (error) { console.error('Error:', error); } - }); + } + + onMount(updateGraph);
        diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/graphs/Graph3.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/graphs/Graph3.svelte index 9d5057a..640bd8a 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/graphs/Graph3.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/graphs/Graph3.svelte @@ -7,7 +7,7 @@ let ctx; let chartCanvas; - onMount(async () => { + async function updateGraph() { const token = getCookie('access_token'); const config = { @@ -50,7 +50,9 @@ } catch (error) { console.error('Error:', error); } - }); + } + + onMount(updateGraph);
        diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Expenses.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Expenses.svelte index 9ea968a..bf4bc58 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Expenses.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Expenses.svelte @@ -8,7 +8,7 @@ let parentHeight; let listParentHeight; - onMount(async () => { + async function updateInfo() { const token = getCookie('access_token'); const config = { @@ -24,7 +24,8 @@ } catch (error) { console.error('Error:', error); } - }); + } + onMount(updateInfo); afterUpdate(() => { parentHeight = document.querySelector('#expenseInfo').offsetHeight; diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte index 6a6ccd2..60d4f7f 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/infolists/Incomes.svelte @@ -9,7 +9,7 @@ let parentHeight; let listParentHeight; - onMount(async () => { + async function updateInfo() { const token = getCookie('access_token'); const config = { @@ -25,7 +25,8 @@ } catch (error) { console.error('Error:', error); } - }); + } + onMount(updateInfo); afterUpdate(() => { parentHeight = document.querySelector('#incomeInfo').offsetHeight; diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/DataMenu.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/DataMenu.svelte index f2f2009..2eec838 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/DataMenu.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/DataMenu.svelte @@ -4,6 +4,14 @@ import Graph3 from '../graphs/Graph3.svelte'; import Expenses from "../infolists/Expenses.svelte"; import Incomes from "../infolists/Incomes.svelte"; + + function updateAll() { + Graph1.updateGraph(); + Graph2.updateGraph(); + Graph3.updateGraph(); + Expenses.updateInfo(); + Incomes.updateInfo(); + }
        From b63f156eb7a9958bf3e6d1c1d439375d72c7355a Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 25 Oct 2023 21:20:42 +0300 Subject: [PATCH 13/17] Working on in-app live updates --- .../routes/dashboard/board/Dashboard.svelte | 22 +++++++- .../dashboard/board/graphs/Graph1.svelte | 53 ++++++++----------- 2 files changed, 42 insertions(+), 33 deletions(-) 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 68a21dc..8849016 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,11 +4,31 @@ import QuickInfobar from "./other/QuickInfobar.svelte"; import { getCookie } from "svelte-cookie"; import {onMount} from "svelte"; + import {writable} from "svelte/store"; + import axios from "axios"; - onMount(() => { + const incomeData = writable([]); + const expenseData = writable([]); + + onMount(async () => { 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); + } + + 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); + } + 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 0d1fa43..433a217 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,44 +1,35 @@
        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 @@
        - -