feat: add search to Transactions tab, spanning all history

Lets the user find a past purchase by keyword instead of paging through
months manually — search hits description/merchant/notes and ignores the
month filter, with a "jump to month" action on each result to view it in
its normal monthly context.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
ZProger
2026-08-20 23:00:44 +03:00
parent b9ff3ab404
commit 2b2e01a8e2
8 changed files with 182 additions and 23 deletions

View File

@@ -29,6 +29,7 @@ const ru = {
"common.loading": "Загрузка…",
"common.back": "Назад",
"common.next": "Далее",
"common.clear": "Очистить",
"common.cancel": "Отмена",
"common.save": "Сохранить",
"common.saving": "Сохранение…",
@@ -138,6 +139,10 @@ const ru = {
"transactions.allCategories": "Все категории",
"transactions.failedToLoad": "Не удалось загрузить транзакции.",
"transactions.noneFound": "Транзакций не найдено.",
"transactions.searchPlaceholder": "Поиск по описанию, продавцу или заметке…",
"transactions.searchAcrossAllTime": "Поиск ведётся по всем периодам, а не только за выбранный месяц.",
"transactions.searchNoneFound": "Ничего не найдено. Попробуйте другой запрос.",
"transactions.jumpToMonth": "Перейти к этому месяцу",
"transactions.confirmDelete": "Удалить транзакцию «{{description}}»?",
"transactions.transferSuffix": "→ перевод",
"transactions.sortDateDesc": "Сначала новые",
@@ -358,6 +363,7 @@ const en: Record<keyof typeof ru, string> = {
"common.loading": "Loading…",
"common.back": "Back",
"common.next": "Next",
"common.clear": "Clear",
"common.cancel": "Cancel",
"common.save": "Save",
"common.saving": "Saving…",
@@ -467,6 +473,10 @@ const en: Record<keyof typeof ru, string> = {
"transactions.allCategories": "All categories",
"transactions.failedToLoad": "Failed to load transactions.",
"transactions.noneFound": "No transactions found.",
"transactions.searchPlaceholder": "Search by description, merchant, or note…",
"transactions.searchAcrossAllTime": "Searching across every period, not just the selected month.",
"transactions.searchNoneFound": "Nothing found. Try a different search.",
"transactions.jumpToMonth": "Jump to this month",
"transactions.confirmDelete": "Delete transaction “{{description}}”?",
"transactions.transferSuffix": "→ transfer",
"transactions.sortDateDesc": "Newest first",