diff --git a/frontend/src/components/Filters.tsx b/frontend/src/components/Filters.tsx
index 8bedd33..12982bf 100644
--- a/frontend/src/components/Filters.tsx
+++ b/frontend/src/components/Filters.tsx
@@ -10,6 +10,7 @@ import { groupFeaturesByCategory } from '../lib/features';
import InfoPopup from './InfoPopup';
import { FeatureInfoPopup } from './FeatureInfoPopup';
import { FeatureActions } from './FeatureIcons';
+import { FeatureLabel } from './ui/FeatureLabel';
interface FiltersProps {
features: FeatureMeta[];
@@ -91,7 +92,7 @@ function FeatureBrowser({
className="flex items-start justify-between px-3 py-1.5 hover:bg-teal-50 dark:hover:bg-teal-900/30 dark:text-warm-300"
>
- {f.name}
+
{f.description && (
{f.description}
@@ -102,7 +103,6 @@ function FeatureBrowser({
feature={f}
isPinned={isPinned}
onTogglePin={onTogglePin}
- onShowInfo={setInfoFeature}
onAdd={onAddFilter}
/>
@@ -232,12 +232,11 @@ export default memo(function Filters({
className={`space-y-1 p-3 rounded ${pinnedFeature === feature.name ? 'ring-2 ring-teal-400 bg-teal-50/50 dark:bg-teal-900/20' : ''}`}
>
-
+
@@ -281,15 +280,16 @@ export default memo(function Filters({
className={`space-y-1 p-3 rounded ${isActive ? 'ring-2 ring-teal-400 bg-teal-50 dark:bg-teal-900/30' : isPinned ? 'ring-2 ring-teal-400 bg-teal-50/50 dark:bg-teal-900/20' : ''}`}
>
-
+
+
+
+ {formatFilterValue(displayValue[0])} - {formatFilterValue(displayValue[1])}
+
+
diff --git a/frontend/src/components/ui/FeatureLabel.tsx b/frontend/src/components/ui/FeatureLabel.tsx
new file mode 100644
index 0000000..73a73f2
--- /dev/null
+++ b/frontend/src/components/ui/FeatureLabel.tsx
@@ -0,0 +1,35 @@
+import type { FeatureMeta } from '../../types';
+import { InfoIcon } from './icons';
+
+interface FeatureLabelProps {
+ feature: FeatureMeta;
+ onShowInfo?: (feature: FeatureMeta) => void;
+ className?: string;
+ size?: 'xs' | 'sm';
+}
+
+export function FeatureLabel({
+ feature,
+ onShowInfo,
+ className = '',
+ size = 'xs',
+}: FeatureLabelProps) {
+ const textClass = size === 'sm' ? 'text-sm' : 'text-xs';
+
+ return (
+
+
+ {feature.name}
+
+ {feature.detail && onShowInfo && (
+
+ )}
+
+ );
+}
diff --git a/frontend/src/components/ui/TabButton.tsx b/frontend/src/components/ui/TabButton.tsx
index 573225c..b15f9c9 100644
--- a/frontend/src/components/ui/TabButton.tsx
+++ b/frontend/src/components/ui/TabButton.tsx
@@ -5,7 +5,7 @@ interface TabButtonProps {
onClick: () => void;
}
-export function TabButton({ label, count, isActive, onClick }: TabButtonProps) {
+export function TabButton({ label, isActive, onClick }: TabButtonProps) {
return (
);
}