fix: 404 при обновлении, стрелки периода, фильтры в URL, авто-категории и очистка истории

- Nginx: проксирование /api на backend (единая точка входа)
- История: стрелки ← → для переключения недель/месяцев/годов
- История: сохранение фильтров и пагинации в URL при F5
- Импорт: миграция 003 — дефолтные правила категорий (PYATEROCHK, AUCHAN и др.)
- Настройки: вкладка «Данные» с кнопкой «Очистить историю»
- Backend: DELETE /api/transactions для удаления всех транзакций
- ClearHistoryModal: подтверждение чекбоксами и вводом «УДАЛИТЬ»
This commit is contained in:
vakabunga
2026-03-10 06:53:56 +03:00
parent 792b4ca4ad
commit a895bb4b2f
23 changed files with 691 additions and 52 deletions

View File

@@ -2,8 +2,9 @@ import { useState } from 'react';
import { AccountsList } from '../components/AccountsList';
import { CategoriesList } from '../components/CategoriesList';
import { RulesList } from '../components/RulesList';
import { DataSection } from '../components/DataSection';
type Tab = 'accounts' | 'categories' | 'rules';
type Tab = 'accounts' | 'categories' | 'rules' | 'data';
export function SettingsPage() {
const [tab, setTab] = useState<Tab>('accounts');
@@ -33,12 +34,19 @@ export function SettingsPage() {
>
Правила
</button>
<button
className={`tab ${tab === 'data' ? 'active' : ''}`}
onClick={() => setTab('data')}
>
Данные
</button>
</div>
<div className="tab-content">
{tab === 'accounts' && <AccountsList />}
{tab === 'categories' && <CategoriesList />}
{tab === 'rules' && <RulesList />}
{tab === 'data' && <DataSection />}
</div>
</div>
);