|
|
document.addEventListener('DOMContentLoaded', function() { |
|
|
|
|
|
const themeToggle = document.getElementById('theme-toggle'); |
|
|
const html = document.documentElement; |
|
|
|
|
|
|
|
|
const savedTheme = localStorage.getItem('theme') || |
|
|
(window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'); |
|
|
html.classList.add(savedTheme); |
|
|
|
|
|
themeToggle.addEventListener('click', () => { |
|
|
html.classList.toggle('dark'); |
|
|
const theme = html.classList.contains('dark') ? 'dark' : 'light'; |
|
|
localStorage.setItem('theme', theme); |
|
|
feather.replace(); |
|
|
}); |
|
|
|
|
|
|
|
|
const addExpenseBtn = document.getElementById('add-expense-btn'); |
|
|
const expenseModal = document.getElementById('expense-modal'); |
|
|
const closeModal = document.getElementById('close-modal'); |
|
|
const expenseForm = document.getElementById('expense-form'); |
|
|
|
|
|
addExpenseBtn.addEventListener('click', () => { |
|
|
expenseModal.classList.remove('hidden'); |
|
|
}); |
|
|
|
|
|
closeModal.addEventListener('click', () => { |
|
|
expenseModal.classList.add('hidden'); |
|
|
}); |
|
|
|
|
|
expenseModal.addEventListener('click', (e) => { |
|
|
if (e.target === expenseModal) { |
|
|
expenseModal.classList.add('hidden'); |
|
|
} |
|
|
}); |
|
|
|
|
|
expenseForm.addEventListener('submit', (e) => { |
|
|
e.preventDefault(); |
|
|
|
|
|
|
|
|
const description = document.getElementById('description').value; |
|
|
const amount = document.getElementById('amount').value; |
|
|
const paidBy = document.getElementById('paid-by').value; |
|
|
|
|
|
console.log('New expense:', { description, amount, paidBy }); |
|
|
|
|
|
|
|
|
expenseForm.reset(); |
|
|
expenseModal.classList.add('hidden'); |
|
|
|
|
|
|
|
|
alert('Expense added successfully!'); |
|
|
}); |
|
|
|
|
|
|
|
|
feather.replace(); |
|
|
}); |