diff --git a/App/frontend-app/src/components/filter/filter.tsx b/App/frontend-app/src/components/filter/filter.tsx index dab0652f..4add7ca6 100644 --- a/App/frontend-app/src/components/filter/filter.tsx +++ b/App/frontend-app/src/components/filter/filter.tsx @@ -40,6 +40,16 @@ interface FilterProps { onFilterCleared: () => void; // New prop to notify parent that filters have been cleared } +const formatLabel = (label: string): string => { + return label + .replace(/_/g, ' ') + .replace(/([a-z0-9])([A-Z])/g, '$1 $2') + .replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2') + .replace(/\s+/g, ' ') + .trim() + .replace(/^./, str => str.toUpperCase()); +} + export function Filter({ className, keywordFilterInfo = {}, @@ -142,9 +152,9 @@ export function Filter({ openItems={openItems} onToggle={handleAccordionToggle} > - {keywordFilterInfo && Object.entries(keywordFilterInfo).slice(0,10).map(([category, keywords], index) => ( + {keywordFilterInfo && Object.entries(keywordFilterInfo).map(([category, keywords], index) => ( - {category} + {formatLabel(category)} {keywords.map((keyword, keywordIndex) => { const isChecked = selectedKeywords[category]?.includes(keyword) || false;