mirror of
https://github.com/Zproger/Aurum.git
synced 2026-10-13 02:56:39 +07:00
feat: add category management page (create/edit/delete)
The backend already had full category CRUD but nothing in the UI exposed it — categories could only be viewed inside charts. Adds a Categories nav item and page with icon/color pickers, grouped by expense/income, backed by new create/update/delete mutations. Also expands icons.tsx's ICON_MAP, which was missing 14 icon keys already in use by real category data and silently falling back to a wallet glyph everywhere they render. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,7 @@ const ru = {
|
||||
"nav.roi": "Доходность",
|
||||
"nav.transactions": "Транзакции",
|
||||
"nav.accounts": "Счета",
|
||||
"nav.categories": "Категории",
|
||||
"nav.cashFlow": "Движение денег",
|
||||
"nav.reports": "Отчёты",
|
||||
"nav.budget": "Бюджет",
|
||||
@@ -300,6 +301,24 @@ const ru = {
|
||||
"account.form.typeLabel": "Тип",
|
||||
"account.form.saveError": "Не удалось сохранить счёт. Проверьте данные и попробуйте снова.",
|
||||
|
||||
"category.expenseSectionTitle": "Категории расходов",
|
||||
"category.incomeSectionTitle": "Категории доходов",
|
||||
"category.empty": "Категорий пока нет.",
|
||||
"category.defaultBadge": "стандартная",
|
||||
"category.defaultCannotDelete": "Стандартные категории нельзя удалить",
|
||||
"category.confirmDelete": "Удалить категорию «{{name}}»?\n\nЕё транзакции останутся без категории.",
|
||||
"category.kind.expense": "Расход",
|
||||
"category.kind.income": "Доход",
|
||||
"category.form.newTitle": "Новая категория",
|
||||
"category.form.editTitle": "Изменить категорию",
|
||||
"category.form.nameLabel": "Название",
|
||||
"category.form.namePlaceholder": "Продукты, транспорт, подписки…",
|
||||
"category.form.kindLabel": "Тип",
|
||||
"category.form.iconLabel": "Иконка",
|
||||
"category.form.colorLabel": "Цвет",
|
||||
"category.form.customColorLabel": "Свой цвет",
|
||||
"category.form.saveError": "Не удалось сохранить категорию. Проверьте данные и попробуйте снова.",
|
||||
|
||||
"cashFlow.income": "Доход",
|
||||
"cashFlow.expense": "Расход",
|
||||
"cashFlow.net": "Баланс",
|
||||
@@ -344,6 +363,7 @@ const en: Record<keyof typeof ru, string> = {
|
||||
"nav.roi": "Returns",
|
||||
"nav.transactions": "Transactions",
|
||||
"nav.accounts": "Accounts",
|
||||
"nav.categories": "Categories",
|
||||
"nav.cashFlow": "Cash Flow",
|
||||
"nav.reports": "Reports",
|
||||
"nav.budget": "Budget",
|
||||
@@ -634,6 +654,24 @@ const en: Record<keyof typeof ru, string> = {
|
||||
"account.form.typeLabel": "Type",
|
||||
"account.form.saveError": "Failed to save the account. Check the data and try again.",
|
||||
|
||||
"category.expenseSectionTitle": "Expense categories",
|
||||
"category.incomeSectionTitle": "Income categories",
|
||||
"category.empty": "No categories yet.",
|
||||
"category.defaultBadge": "default",
|
||||
"category.defaultCannotDelete": "Default categories cannot be deleted",
|
||||
"category.confirmDelete": "Delete the category “{{name}}”?\n\nIts transactions will be left uncategorized.",
|
||||
"category.kind.expense": "Expense",
|
||||
"category.kind.income": "Income",
|
||||
"category.form.newTitle": "New category",
|
||||
"category.form.editTitle": "Edit category",
|
||||
"category.form.nameLabel": "Name",
|
||||
"category.form.namePlaceholder": "Groceries, transport, subscriptions…",
|
||||
"category.form.kindLabel": "Type",
|
||||
"category.form.iconLabel": "Icon",
|
||||
"category.form.colorLabel": "Color",
|
||||
"category.form.customColorLabel": "Custom color",
|
||||
"category.form.saveError": "Failed to save the category. Check the data and try again.",
|
||||
|
||||
"cashFlow.income": "Income",
|
||||
"cashFlow.expense": "Expense",
|
||||
"cashFlow.net": "Net",
|
||||
|
||||
Reference in New Issue
Block a user