@@ -40,6 +40,12 @@ const categoryFilters: Array<{ value: CategoryFilter; label: string }> = [
4040export const PatternsSidebar = ( { onSelectPattern } : PatternsSidebarProps ) => {
4141 const [ search , setSearch ] = useState ( "" ) ;
4242 const [ selectedCategory , setSelectedCategory ] = useState < CategoryFilter > ( "all" ) ;
43+ const [ selectedPattern , setSelectedPattern ] = useState < { id : string ; name : string } | null > ( null ) ;
44+
45+ const handleSelectPattern = ( pattern : Pattern ) => {
46+ setSelectedPattern ( { id : pattern . id , name : pattern . name } ) ;
47+ onSelectPattern ( pattern ) ;
48+ } ;
4349
4450 const filteredPatterns = PATTERNS . filter ( ( p ) => {
4551 const matchesSearch =
@@ -111,11 +117,19 @@ export const PatternsSidebar = ({ onSelectPattern }: PatternsSidebarProps) => {
111117 </ div >
112118 < div className = "space-y-1" >
113119 { patterns . map ( ( pattern ) => (
114- < PatternItem
120+ < div
115121 key = { pattern . id }
116- pattern = { pattern }
117- onSelect = { ( ) => onSelectPattern ( pattern ) }
118- />
122+ className = {
123+ selectedPattern ?. id === pattern . id
124+ ? "rounded-lg bg-primary/10 ring-1 ring-primary/40"
125+ : "rounded-lg"
126+ }
127+ >
128+ < PatternItem
129+ pattern = { pattern }
130+ onSelect = { ( ) => handleSelectPattern ( pattern ) }
131+ />
132+ </ div >
119133 ) ) }
120134 </ div >
121135 </ div >
@@ -124,11 +138,16 @@ export const PatternsSidebar = ({ onSelectPattern }: PatternsSidebarProps) => {
124138 ) : (
125139 < div className = "space-y-1" >
126140 { filteredPatterns . map ( ( pattern ) => (
127- < PatternItem
141+ < div
128142 key = { pattern . id }
129- pattern = { pattern }
130- onSelect = { ( ) => onSelectPattern ( pattern ) }
131- />
143+ className = {
144+ selectedPattern ?. id === pattern . id
145+ ? "rounded-lg bg-primary/10 ring-1 ring-primary/40"
146+ : "rounded-lg"
147+ }
148+ >
149+ < PatternItem pattern = { pattern } onSelect = { ( ) => handleSelectPattern ( pattern ) } />
150+ </ div >
132151 ) ) }
133152 </ div >
134153 ) }
0 commit comments