diff --git a/static/js/chart_split_controls.js b/static/js/chart_split_controls.js
new file mode 100644
index 0000000..4664fde
--- /dev/null
+++ b/static/js/chart_split_controls.js
@@ -0,0 +1,58 @@
+document.addEventListener('DOMContentLoaded', function() {
+ // Znajdź przyciski
+ const toggleMonthlySplit = document.getElementById('toggleMonthlySplit');
+ const toggleDailySplit = document.getElementById('toggleDailySplit');
+ const toggleCategorySplit = document.getElementById('toggleCategorySplit');
+
+ // Funkcja ustawiająca aktywność przycisków podziału czasu
+ function setActiveTimeSplit(active) {
+ if (active === 'monthly') {
+ toggleMonthlySplit.classList.add('btn-primary');
+ toggleMonthlySplit.classList.remove('btn-outline-light');
+ toggleMonthlySplit.setAttribute('aria-pressed', 'true');
+
+ toggleDailySplit.classList.remove('btn-primary');
+ toggleDailySplit.classList.add('btn-outline-light');
+ toggleDailySplit.setAttribute('aria-pressed', 'false');
+ } else if (active === 'daily') {
+ toggleDailySplit.classList.add('btn-primary');
+ toggleDailySplit.classList.remove('btn-outline-light');
+ toggleDailySplit.setAttribute('aria-pressed', 'true');
+
+ toggleMonthlySplit.classList.remove('btn-primary');
+ toggleMonthlySplit.classList.add('btn-outline-light');
+ toggleMonthlySplit.setAttribute('aria-pressed', 'false');
+ }
+ }
+
+ // Obsługa kliknięć przycisków czasu
+ toggleMonthlySplit.addEventListener('click', function() {
+ setActiveTimeSplit('monthly');
+ loadExpenses('monthly');
+ });
+
+ toggleDailySplit.addEventListener('click', function() {
+ setActiveTimeSplit('daily');
+ loadExpenses('daily');
+ });
+
+ // Obsługa kliknięcia przycisku podziału kategorii
+ toggleCategorySplit.addEventListener('click', function() {
+ const isActive = this.classList.contains('btn-primary');
+ if (isActive) {
+ this.classList.remove('btn-primary');
+ this.classList.add('btn-outline-light');
+ this.setAttribute('aria-pressed', 'false');
+ loadExpenses(); // wyłącz podział kategorii
+ } else {
+ this.classList.add('btn-primary');
+ this.classList.remove('btn-outline-light');
+ this.setAttribute('aria-pressed', 'true');
+ loadExpenses({ bycategory: true }); // włącz podział kategorii
+ }
+ });
+
+ // Inicjalizacja - domyślnie ustaw podział dzienny
+ setActiveTimeSplit('daily');
+ loadExpenses('daily');
+});
diff --git a/static/js/expense_chart.js b/static/js/expense_chart.js
index dc27573..c05e1d7 100644
--- a/static/js/expense_chart.js
+++ b/static/js/expense_chart.js
@@ -173,52 +173,4 @@ document.addEventListener("DOMContentLoaded", function () {
loadExpenses("currentmonth");
}
-
- // podzial casu
- const toggleMonthlySplit = document.getElementById('toggleMonthlySplit');
- const toggleDailySplit = document.getElementById('toggleDailySplit');
- const toggleCategorySplit = document.getElementById('toggleCategorySplit');
-
- toggleMonthlySplit.addEventListener('click', function() {
- this.classList.add('btn-primary');
- this.classList.remove('btn-outline-light');
- this.setAttribute('aria-pressed', 'true');
-
- toggleDailySplit.classList.remove('btn-primary');
- toggleDailySplit.classList.add('btn-outline-light');
- toggleDailySplit.setAttribute('aria-pressed', 'false');
-
- loadExpenses('monthly');
- });
-
- toggleDailySplit.addEventListener('click', function() {
- this.classList.add('btn-primary');
- this.classList.remove('btn-outline-light');
- this.setAttribute('aria-pressed', 'true');
-
- toggleMonthlySplit.classList.remove('btn-primary');
- toggleMonthlySplit.classList.add('btn-outline-light');
- toggleMonthlySplit.setAttribute('aria-pressed', 'false');
-
- loadExpenses('daily');
- });
-
- toggleCategorySplit.addEventListener('click', function() {
- const isActive = this.classList.contains('btn-primary');
- if (isActive) {
- this.classList.remove('btn-primary');
- this.classList.add('btn-outline-light');
- this.setAttribute('aria-pressed', 'false');
- // Wyłącz podział na kategorie
- loadExpenses(); // bez podziału na kategorie
- } else {
- this.classList.add('btn-primary');
- this.classList.remove('btn-outline-light');
- this.setAttribute('aria-pressed', 'true');
- // Włącz podział na kategorie
- loadExpenses({ bycategory: true });
- }
- });
-
-
});
diff --git a/templates/expenses.html b/templates/expenses.html
index 15a7b87..99732e8 100644
--- a/templates/expenses.html
+++ b/templates/expenses.html
@@ -188,4 +188,5 @@
+
{% endblock %}
\ No newline at end of file