@@ -5,27 +5,17 @@ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/com
55import { Input } from '@/components/ui/input' ;
66import { Badge } from '@/components/ui/badge' ;
77import { ScrollArea } from '@/components/ui/scroll-area' ;
8- import { Button } from '@/components/ui/button' ;
98import { Search , Package , AlertCircle } from 'lucide-react' ;
109import { useComponentStore } from '@/stores/component-store' ;
1110import { getAvailableComponents } from '@/lib/component-data' ;
1211import { ShadcnComponent } from '@/types/component' ;
1312import { useDebounce } from '@/hooks/use-debounce' ;
1413import { LoadingSpinner } from '@/components/ui/loading-spinner' ;
1514
16- const CATEGORIES = [
17- { id : 'all' , name : 'All Components' , color : 'bg-blue-500' } ,
18- { id : 'ui' , name : 'UI Components' , color : 'bg-green-500' } ,
19- { id : 'form' , name : 'Form Components' , color : 'bg-purple-500' } ,
20- { id : 'layout' , name : 'Layout Components' , color : 'bg-orange-500' } ,
21- { id : 'feedback' , name : 'Feedback' , color : 'bg-red-500' } ,
22- { id : 'navigation' , name : 'Navigation' , color : 'bg-indigo-500' } ,
23- { id : 'data-display' , name : 'Data Display' , color : 'bg-pink-500' } ,
24- { id : 'overlay' , name : 'Overlay' , color : 'bg-yellow-500' }
25- ] ;
15+ // Removed category filter section per user request
2616
2717export function ComponentSelector ( ) {
28- const { searchQuery, selectedCategory , selectedComponent, setSearchQuery, setSelectedCategory , setSelectedComponent } = useComponentStore ( ) ;
18+ const { searchQuery, selectedComponent, setSearchQuery, setSelectedComponent } = useComponentStore ( ) ;
2919 const [ components , setComponents ] = useState < ShadcnComponent [ ] > ( [ ] ) ;
3020 const [ filteredComponents , setFilteredComponents ] = useState < ShadcnComponent [ ] > ( [ ] ) ;
3121
@@ -49,13 +39,10 @@ export function ComponentSelector() {
4939 ) ;
5040 }
5141
52- // Filter by category
53- if ( selectedCategory !== 'all' ) {
54- filtered = filtered . filter ( comp => comp . category === selectedCategory ) ;
55- }
42+ // Category filtering removed
5643
5744 setFilteredComponents ( filtered ) ;
58- } , [ components , debouncedSearchQuery , selectedCategory ] ) ;
45+ } , [ components , debouncedSearchQuery ] ) ;
5946
6047 const loadComponents = async ( ) => {
6148 try {
@@ -77,17 +64,24 @@ export function ComponentSelector() {
7764 setSearchQuery ( value ) ;
7865 } ;
7966
80- const handleCategoryChange = ( categoryId : string ) => {
81- setSelectedCategory ( categoryId ) ;
82- } ;
67+ // Category filter removed
8368
8469 const handleComponentSelect = ( component : ShadcnComponent ) => {
8570 setSelectedComponent ( component ) ;
8671 } ;
8772
8873 const getCategoryColor = ( category : string ) => {
89- const cat = CATEGORIES . find ( c => c . id === category ) ;
90- return cat ?. color || 'bg-gray-500' ;
74+ // Keep badge color mapping simple without filter buttons
75+ switch ( category ) {
76+ case 'ui' : return 'bg-green-500' ;
77+ case 'form' : return 'bg-purple-500' ;
78+ case 'layout' : return 'bg-orange-500' ;
79+ case 'feedback' : return 'bg-red-500' ;
80+ case 'navigation' : return 'bg-indigo-500' ;
81+ case 'data-display' : return 'bg-pink-500' ;
82+ case 'overlay' : return 'bg-yellow-500' ;
83+ default : return 'bg-gray-500' ;
84+ }
9185 } ;
9286
9387 if ( isLoading ) {
@@ -112,21 +106,7 @@ export function ComponentSelector() {
112106 />
113107 </ div >
114108
115- { /* Category Filter */ }
116- < div className = "flex flex-wrap gap-2" >
117- { CATEGORIES . map ( ( category ) => (
118- < Button
119- key = { category . id }
120- variant = { selectedCategory === category . id ? 'default' : 'outline' }
121- size = "sm"
122- onClick = { ( ) => handleCategoryChange ( category . id ) }
123- className = "text-xs"
124- >
125- < div className = { `w-2 h-2 rounded-full ${ category . color } mr-2` } />
126- { category . name }
127- </ Button >
128- ) ) }
129- </ div >
109+ { /* Category Filter removed */ }
130110
131111 { /* Components Grid */ }
132112 < ScrollArea className = "h-[600px]" >
@@ -139,7 +119,7 @@ export function ComponentSelector() {
139119 < div className = "flex flex-col items-center justify-center h-64 text-muted-foreground" >
140120 < AlertCircle className = "h-12 w-12 mb-4 opacity-50" />
141121 < p className = "text-center" >
142- { searchQuery || selectedCategory !== 'all'
122+ { searchQuery
143123 ? 'No components found matching your criteria'
144124 : 'No components available'
145125 }
0 commit comments