diff --git a/public/pages/budget.js b/public/pages/budget.js index eefd4c4..b63b8e1 100644 --- a/public/pages/budget.js +++ b/public/pages/budget.js @@ -6,6 +6,7 @@ */ import { api } from '/api.js'; +import { openModal as openSharedModal, closeModal } from '/components/modal.js'; // -------------------------------------------------------- // Konstanten @@ -134,7 +135,7 @@ function wireNav() { renderBody(); updateLabel(); }); - const addHandler = () => openModal({ mode: 'create' }); + const addHandler = () => openBudgetModal({ mode: 'create' }); _container.querySelector('#budget-add').addEventListener('click', addHandler); _container.querySelector('#fab-new-budget').addEventListener('click', addHandler); updateLabel(); @@ -208,7 +209,7 @@ function renderBody() { const item = e.target.closest('.budget-entry[data-id]'); if (item && !e.target.closest('[data-action]')) { const entry = state.entries.find((e) => e.id === parseInt(item.dataset.id, 10)); - if (entry) openModal({ mode: 'edit', entry }); + if (entry) openBudgetModal({ mode: 'edit', entry }); } }); } @@ -276,150 +277,133 @@ function formatEntryDate(dateStr) { // Modal // -------------------------------------------------------- -function openModal({ mode, entry = null }) { - document.querySelector('#budget-modal-overlay')?.remove(); - +function openBudgetModal({ mode, entry = null }) { const isEdit = mode === 'edit'; const today = new Date().toISOString().slice(0, 10); - const isExpense = isEdit ? entry.amount < 0 : true; // Standard: Ausgabe + const isExpense = isEdit ? entry.amount < 0 : true; const absAmount = isEdit ? Math.abs(entry.amount).toFixed(2) : ''; const catOpts = CATEGORIES.map((c) => `` ).join(''); - const overlay = document.createElement('div'); - overlay.id = 'budget-modal-overlay'; - overlay.className = 'budget-modal-overlay'; - overlay.innerHTML = ` -