diff --git a/CHANGELOG.md b/CHANGELOG.md index 038bdaf..ef9f011 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ## [Unreleased] +### Added +- Delete keywords from the "All Keywords" view + ## [0.3.8] ### Added diff --git a/src/components/categories/AllKeywordsPanel.tsx b/src/components/categories/AllKeywordsPanel.tsx index b08442d..945ed9c 100644 --- a/src/components/categories/AllKeywordsPanel.tsx +++ b/src/components/categories/AllKeywordsPanel.tsx @@ -1,6 +1,6 @@ import { useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { Search } from "lucide-react"; +import { Search, X } from "lucide-react"; import { getAllKeywordsWithCategory, type KeywordWithCategory, @@ -15,10 +15,12 @@ function normalize(str: string): string { interface AllKeywordsPanelProps { onSelectCategory: (id: number) => void; + onRemove: (id: number) => void; } export default function AllKeywordsPanel({ onSelectCategory, + onRemove, }: AllKeywordsPanelProps) { const { t } = useTranslation(); const [keywords, setKeywords] = useState([]); @@ -89,6 +91,7 @@ export default function AllKeywordsPanel({ {t("categories.priority")} {t("transactions.category")} + @@ -111,6 +114,17 @@ export default function AllKeywordsPanel({ {k.category_name} + + + ))} diff --git a/src/pages/CategoriesPage.tsx b/src/pages/CategoriesPage.tsx index dd52d43..9d39703 100644 --- a/src/pages/CategoriesPage.tsx +++ b/src/pages/CategoriesPage.tsx @@ -87,6 +87,7 @@ export default function CategoriesPage() { setShowAllKeywords(false); selectCategory(id); }} + onRemove={removeKeyword} /> ) : (