Files
family_budget/frontend/src/components/DataSection.tsx
vakabunga a895bb4b2f fix: 404 при обновлении, стрелки периода, фильтры в URL, авто-категории и очистка истории
- Nginx: проксирование /api на backend (единая точка входа)
- История: стрелки ← → для переключения недель/месяцев/годов
- История: сохранение фильтров и пагинации в URL при F5
- Импорт: миграция 003 — дефолтные правила категорий (PYATEROCHK, AUCHAN и др.)
- Настройки: вкладка «Данные» с кнопкой «Очистить историю»
- Backend: DELETE /api/transactions для удаления всех транзакций
- ClearHistoryModal: подтверждение чекбоксами и вводом «УДАЛИТЬ»
2026-03-10 06:53:56 +03:00

38 lines
1.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { useState } from 'react';
import { useNavigate } from 'react-router-dom';
import { ClearHistoryModal } from './ClearHistoryModal';
export function DataSection() {
const [showClearModal, setShowClearModal] = useState(false);
const navigate = useNavigate();
return (
<div className="data-section">
<div className="section-block">
<h3>Очистка данных</h3>
<p className="section-desc">
Очистить историю операций (все транзакции). Счета, категории и
правила сохранятся.
</p>
<button
type="button"
className="btn btn-danger"
onClick={() => setShowClearModal(true)}
>
Очистить историю
</button>
</div>
{showClearModal && (
<ClearHistoryModal
onClose={() => setShowClearModal(false)}
onDone={() => {
setShowClearModal(false);
navigate('/history');
}}
/>
)}
</div>
);
}