@@ -27,14 +27,16 @@ interface CompTypeDesc extends ComponentTypeDescription {
2727
2828interface HomePageProps extends React . AnchorHTMLAttributes < HTMLAnchorElement > {
2929 compDescriptions : CompTypeDesc [ ] ;
30+ themeKind : number ;
3031}
3132
3233export interface DefaultProps {
3334 analytics ?: import ( '@segment/analytics-next' ) . Analytics ;
3435}
3536
3637const HomeItem : React . FC < HomePageProps > = ( {
37- compDescriptions
38+ compDescriptions,
39+ themeKind
3840} : HomePageProps ) => {
3941 const homeStyleClass = useHomeStyles ( ) ;
4042 const cardItemStyle = useCardItemStyles ( ) ;
@@ -45,7 +47,8 @@ const HomeItem: React.FC<HomePageProps> = ({
4547 compDescriptions . map ( ( compDescription : CompTypeDesc , key : number ) => (
4648 < ImageListItem key = { `imageList-` + key } >
4749 < CardItem key = { key } compDescription = { compDescription }
48- cardItemStyle = { cardItemStyle } projectDisplayStyle = { projectDisplayStyle } hasGitLink = { hasGitLink ( compDescription ) } />
50+ cardItemStyle = { cardItemStyle } projectDisplayStyle = { projectDisplayStyle } hasGitLink = { hasGitLink ( compDescription ) }
51+ themeKind = { themeKind } />
4952 </ ImageListItem >
5053 ) )
5154 }
@@ -59,6 +62,7 @@ export const Home: React.FC<DefaultProps> = ({ }) => {
5962 const [ registries , setRegistries ] = React . useState ( [ ] ) ;
6063 const [ searchValue , setSearchValue ] = React . useState ( '' ) ;
6164 const [ error , setError ] = React . useState ( '' ) ;
65+ const [ themeKind , setThemeKind ] = React . useState ( 0 ) ;
6266
6367 React . useEffect ( ( ) => {
6468 return VSCodeMessage . onMessage ( ( message ) => {
@@ -81,6 +85,7 @@ export const Home: React.FC<DefaultProps> = ({ }) => {
8185 }
8286 } ) ;
8387 }
88+ setThemeKind ( message . data . themeValue ) ;
8489 setCompDescriptions ( message . data . compDescriptions ) ;
8590 setRegistries ( message . data . registries ) ;
8691 setFilteredcompDescriptions ( getFilteredCompDesc ( message . data . registries , message . data . compDescriptions , searchValue ) ) ;
@@ -90,6 +95,8 @@ export const Home: React.FC<DefaultProps> = ({ }) => {
9095 setFilteredcompDescriptions ( [ ] ) ;
9196 setCompDescriptions ( [ ] ) ;
9297 setSearchValue ( '' ) ;
98+ } else if ( message . data . action === 'setTheme' ) {
99+ setThemeKind ( message . data . themeValue ) ;
93100 }
94101 } ) ;
95102 } ) ;
@@ -130,7 +137,7 @@ export const Home: React.FC<DefaultProps> = ({ }) => {
130137 } }
131138 />
132139 }
133- < HomeItem compDescriptions = { filteredcompDescriptions } />
140+ < HomeItem compDescriptions = { filteredcompDescriptions } themeKind = { themeKind } />
134141 { error ?. length > 0 ? < ErrorPage message = { error } /> : null }
135142 </ >
136143 :
0 commit comments