diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java index e89d54f..0c6b710 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java @@ -25,7 +25,6 @@ import java.util.stream.Collectors; @RestController @RequestMapping("/expenses") @RequiredArgsConstructor -@CrossOrigin(origins = "http://localhost:5173") public class ExpenseController { private final ExpenseService expenseService; diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java index 29b172f..e43b5ba 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java @@ -25,7 +25,6 @@ import java.util.stream.Collectors; @RestController @RequestMapping("/incomes") @RequiredArgsConstructor -@CrossOrigin(origins = "http://localhost:5173") public class IncomeController { private final IncomeService incomeService; diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java index 1318e24..407f99c 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java @@ -19,7 +19,6 @@ import java.util.ArrayList; @RestController @RequestMapping("/users") @RequiredArgsConstructor -@CrossOrigin(origins = "http://localhost:5173") public class UserController { private final UserService userService; diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/auth/login/LoginForm.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/auth/login/LoginForm.svelte index ed00879..a0bade3 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/auth/login/LoginForm.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/auth/login/LoginForm.svelte @@ -1,5 +1,4 @@
diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/auth/register/RegisterForm.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/auth/register/RegisterForm.svelte index 076d8a7..0a8f712 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/auth/register/RegisterForm.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/auth/register/RegisterForm.svelte @@ -55,7 +55,7 @@ Already have an account? Sign in -
+ @@ -78,18 +78,18 @@ height: 600px; box-shadow: 1px 1px 108.8px 19.2px rgb(25, 31, 53); } - + #formTitle { font-family: 'Source Sans Pro', sans-serif; color: #5c6bc0; margin-top: 94px; } - + #formTitle span { color: #dfdeee; font-weight: lighter; } - + .registerForm h5 { font-family: 'Source Sans Pro', sans-serif; font-size: 13px; @@ -98,7 +98,7 @@ margin-top: -15px; margin-bottom: 70px; } - + .registerForm input[type="text"], .registerForm input[type="password"] { display: block; @@ -116,21 +116,21 @@ -o-transition: all .2s ease-out; transition: all .2s ease-out; } - + .registerForm input[type="text"]:focus, .registerForm input[type="password"]:focus { border: 1px solid #79A6FE; } - + a { color: #5c7fda; text-decoration: none; } - + a:hover { text-decoration: underline; } - + .submitButton { border: 0; background: #7f5feb; @@ -145,23 +145,23 @@ transition: 0.3s; cursor: pointer; } - + .submitButton:hover { background: #5d33e6; } - + .recoveryPass { position: relative; float: right; right: 28px; } - + .noAccount { position: absolute; top: 92%; left: 24%; } - + .error { text-align: center; width: 337px; 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 45c3969..9ee8e54 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 @@ -5,51 +5,40 @@ import { getCookie } from "svelte-cookie"; import {onMount} from "svelte"; - import {incomeData} from "../stores.js"; - import {expenseData} from "../stores.js"; - import {incomeTypes} from "../stores.js"; + import {incomeData, expenseData, incomeTypes, expenseTypes} from "../stores.js"; import axios from "axios"; - onMount(() => { - if (getCookie('access_token') === null) { + onMount(async () => { + const token = getCookie('access_token'); + + if (token === '') { window.location.href = '/auth/login'; - console.log("no token"); + return; } - const token = getCookie('access_token'); const config = { headers: { 'Authorization': `Bearer ${token}` } }; - 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)); + try { + const [incomeResponse, expenseResponse, incomeTypesResponse, expenseTypesResponse] = await Promise.all([ + axios.get('http://localhost:8081/incomes/personal-incomes', config), + axios.get('http://localhost:8081/expenses/personal-expenses', config), + axios.get('http://localhost:8081/incomes/categories', config), + axios.get('http://localhost:8081/expenses/categories', config) + ]); - 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')); - }); + incomeData.set(incomeResponse.data); + expenseData.set(expenseResponse.data); + incomeTypes.set(incomeTypesResponse.data); + expenseTypes.set(expenseTypesResponse.data); + } catch (error) { + console.error('Error:', error); + } }); 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 56b6e48..3b653b1 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,23 +7,23 @@ let chartCanvas; let chart = null; - function createGraph(data) { - try { - 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) + parseInt(income.amount)); - } else { - groupedData.set(category, income.amount); - } - } - ); - return groupedData; - } + function groupAndSumByCategory() { + const groupedData = new Map(); + $incomeData.forEach(income => { + const category = income.incomeCategory.name; + if (groupedData.has(category)) { + groupedData.set(category, groupedData.get(category) + parseInt(income.amount)); + } else { + groupedData.set(category, income.amount); + } + } + ); + return groupedData; + } - const groupedIncomeData = groupAndSumByCategory(data); + function createGraph() { + try { + const groupedIncomeData = groupAndSumByCategory(); const chartLabels = Array.from(groupedIncomeData.keys()); const chartValues = Array.from(groupedIncomeData.values()); @@ -37,7 +37,16 @@ labels: chartLabels, datasets: [{ label: 'Revenue', - backgroundColor: 'rgb(255, 99, 132)', + backgroundColor: + ['rgb(0, 0, 179)', + 'rgb(0, 16, 217)', + 'rgb(0, 32, 255)', + 'rgb(0, 64, 255)', + 'rgb(0, 96, 255)', + 'rgb(0, 128, 255)', + 'rgb(0, 159, 255)', + 'rgb(0, 191, 255)', + 'rgb(0, 255, 255)'], data: chartValues }] }, @@ -49,7 +58,6 @@ } else { chart.data.labels = chartLabels; chart.data.datasets[0].data = chartValues; - console.log(chart.data.datasets[0].data); chart.update(); } } catch (error) { @@ -59,13 +67,12 @@ $: { if ($incomeData) { - createGraph($incomeData); - console.log($incomeData); + createGraph(); } } onMount(() => { - createGraph($incomeData); + createGraph(); }); 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 fe935a6..9fb1a4a 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 @@ -1,72 +1,76 @@
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 640bd8a..10245ba 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 @@ -1,45 +1,32 @@
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 f266757..0015c1f 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,36 +1,18 @@
@@ -38,7 +20,7 @@
    - {#each data as item} + {#each $expenseData as item}
  • {item.incomeCategory ? `${item.incomeCategory.name}: ` : `${item.expenseCategory.name}: `} {item.incomeCategory ? `+${item.amount}$` : `-${item.amount}$`} @@ -54,6 +36,10 @@ #expenseInfo { display: flex; flex-direction: column; + background-color: #212942; + color:white; + border-radius: 10px; + margin: 10px; } #expenseList { @@ -72,6 +58,7 @@ ul { list-style: none; padding: 0; + color:black; } li { 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 f0c175e..2f4e2e5 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,37 +1,18 @@
    @@ -39,7 +20,7 @@
      - {#each data as item} + {#each $incomeData as item}
    • {item.incomeCategory ? `${item.incomeCategory.name}: ` : `${item.expenseCategory.name}: `} {item.incomeCategory ? `+${item.amount}$` : `-${item.amount}$`} @@ -54,6 +35,10 @@ #incomeInfo { display: flex; flex-direction: column; + background-color: #212942; + color:white; + border-radius: 10px; + margin: 10px; } #incomeList { @@ -68,6 +53,7 @@ ul { list-style: none; padding: 0; + color: black; } li { 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 49c8297..75abede 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,45 +1,55 @@
      diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/QuickInfobar.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/QuickInfobar.svelte index 81ad41e..5b6b490 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/QuickInfobar.svelte +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/board/other/QuickInfobar.svelte @@ -1,38 +1,39 @@ @@ -55,15 +56,16 @@ width: 200px; min-width: 100px; height: 100px; - color:white; + color: white; padding: 10px; border-radius: 10px; background-color: #212942; - 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); + 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); + overflow: hidden; } .infobarElement:hover { - box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } - \ No newline at end of file + diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/menu/Navbar.svelte b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/menu/Navbar.svelte deleted file mode 100644 index 39f0d01..0000000 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/menu/Navbar.svelte +++ /dev/null @@ -1,47 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/stores.js b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/stores.js index 3b615b4..05ce287 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/stores.js +++ b/src/main/java/com/faf223/expensetrackerfaf/web/src/routes/dashboard/stores.js @@ -4,4 +4,6 @@ export const incomeData = writable([]); export const expenseData = writable([]); -export const incomeTypes = writable([]); \ No newline at end of file +export const incomeTypes = writable([]); + +export const expenseTypes = writable([]); \ No newline at end of file