import React, { useState } from 'react';
import axios from 'axios';
import { useNavigate } from 'react-router-dom';
function Settings() {
const [isSubmitting, setIsSubmitting] = useState(false);
const [error, setError] = useState('');
const [isDarkMode, setIsDarkMode] = useState(false);
const token = localStorage.getItem('token');
const navigate = useNavigate();
const handleDeleteAccount = async () => {
if (!window.confirm('Bạn có chắc muốn xóa tài khoản? Hành động này không thể hoàn tác!')) {
return;
}
setIsSubmitting(true);
try {
await axios.delete('https://backend-rockefeller-finance.onrender.com/api/account', {
headers: { Authorization: `Bearer ${token}` },
});
localStorage.removeItem('token');
navigate('/login');
setError('');
} catch (err) {
setError(err.response?.data?.error || 'Lỗi xóa tài khoản');
} finally {
setIsSubmitting(false);
}
};
const handleResetBudget = async () => {
if (!window.confirm('Bạn có chắc muốn xóa toàn bộ số tiền? Dữ liệu ngân sách sẽ về 0!')) {
return;
}
setIsSubmitting(true);
try {
await axios.delete('https://backend-rockefeller-finance.onrender.com/api/budget', {
headers: { Authorization: `Bearer ${token}` },
});
setError('');
navigate('/expenses');
} catch (err) {
setError(err.response?.data?.error || 'Lỗi xóa số tiền');
} finally {
setIsSubmitting(false);
}
};
const toggleDarkMode = () => {
setIsDarkMode(!isDarkMode);
};
return (
{error &&
);
}
export default Settings;
Cài đặt
{error}
}