diff --git a/frontend/components/filter-icon-popover.tsx b/frontend/components/filter-icon-popover.tsx index c0ce416b..72504759 100644 --- a/frontend/components/filter-icon-popover.tsx +++ b/frontend/components/filter-icon-popover.tsx @@ -133,7 +133,7 @@ export function FilterIconPopover({ type="button" onClick={() => onColorChange(c)} className={cn( - "flex items-center justify-center h-6 w-6 rounded-sm transition-colors text-primary", + "flex items-center justify-center h-6 w-6 rounded-sm transition-colors text-white", colorSwatchClasses[c] )} aria-label={c} diff --git a/frontend/components/knowledge-filter-list.tsx b/frontend/components/knowledge-filter-list.tsx index bac0e5ca..129e8204 100644 --- a/frontend/components/knowledge-filter-list.tsx +++ b/frontend/components/knowledge-filter-list.tsx @@ -66,7 +66,7 @@ export function KnowledgeFilterList({ return ( <> -
+
Knowledge Filters @@ -76,7 +76,7 @@ export function KnowledgeFilterList({ size="sm" onClick={handleCreateNew} title="Create New Filter" - className="h-8 px-3 text-muted-foreground" + className="!h-8 w-8 px-0 text-muted-foreground" > @@ -106,12 +106,14 @@ export function KnowledgeFilterList({
{(() => { - const parsed = parseQueryData(filter.query_data) as ParsedQueryData; + const parsed = parseQueryData( + filter.query_data + ) as ParsedQueryData; const Icon = iconKeyToComponent(parsed.icon); return (
("zinc"); const [iconKey, setIconKey] = useState("filter"); + const [nameError, setNameError] = useState(null); + const nameInputRef = useRef(null); // Filter configuration states (mirror search page exactly) const [query, setQuery] = useState(""); @@ -146,27 +154,12 @@ export function KnowledgeFilterPanel() { // Don't render if panel is closed or we don't have any data if (!isPanelOpen || !parsedFilterData) return null; - const selectAllFilters = () => { - // Use wildcards instead of listing all specific items - setSelectedFilters({ - data_sources: ["*"], - document_types: ["*"], - owners: ["*"], - connector_types: ["*"], - }); - }; - - const clearAllFilters = () => { - setSelectedFilters({ - data_sources: [], - document_types: [], - owners: [], - connector_types: [], - }); - }; - const handleSaveConfiguration = async () => { - if (!name.trim()) return; + if (!name.trim()) { + setNameError("Name is required"); + nameInputRef.current?.focus(); + return; + } const filterData = { query, filters: selectedFilters, @@ -238,8 +231,8 @@ export function KnowledgeFilterPanel() { }; return ( -
- +
+
@@ -248,7 +241,10 @@ export function KnowledgeFilterPanel() {