1- import React , { useEffect , useState } from 'react' ;
1+ import React , { useEffect , useMemo , useState } from 'react' ;
22import { getLayout } from '../components/SiteLayout' ;
33import { DocSearch } from '@docsearch/react' ;
44import fs from 'fs' ;
@@ -99,10 +99,8 @@ const Home = (props: any) => {
9999 // Ensure the component is only rendered client-side
100100 setIsClient ( true ) ;
101101 } , [ ] ) ;
102-
103- const [ logos , setLogos ] = useState < Record < string , string > > ( { } ) ;
104- useEffect ( ( ) => {
105- const darkLogos = {
102+ const LOGOS_PATHS = {
103+ darkLogos : {
106104 asyncapi : '/img/logos/dark-mode/asyncapi_white.svg' ,
107105 airbnb : '/img/logos/dark-mode/airbnb_white.png' ,
108106 postman : '/img/logos/usedby/postman-white.png' ,
@@ -124,9 +122,8 @@ const Home = (props: any) => {
124122 dottxt : '/img/logos/sponsors/dottxt-logo-white.svg' ,
125123 supadata : '/img/logos/sponsors/supadata-logo-light.svg' ,
126124 devevents : '/img/logos/dark-mode/dev_events_logo.png' ,
127- } ;
128-
129- const lightLogos = {
125+ } ,
126+ lightLogos : {
130127 asyncapi : '/img/logos/sponsors/asyncapi-logo-dark.svg' ,
131128 airbnb : '/img/logos/sponsors/airbnb-logo.png' ,
132129 postman : '/img/logos/sponsors/postman_logo-orange.svg' ,
@@ -147,10 +144,16 @@ const Home = (props: any) => {
147144 sourcemeta : '/img/logos/sponsors/sourcemeta-logo-dark.svg' ,
148145 supadata : '/img/logos/sponsors/supadata-logo-dark.svg' ,
149146 dottxt : '/img/logos/sponsors/dottxt-logo-dark.svg' ,
150- } ;
147+ devevents : '/img/logos/dark-mode/dev_events_logo.png' ,
148+ } ,
149+ } ;
151150
152- setLogos ( resolvedTheme === 'dark' ? darkLogos : lightLogos ) ;
153- } , [ resolvedTheme ] ) ;
151+ const logos = useMemo (
152+ ( ) =>
153+ LOGOS_PATHS [ resolvedTheme == 'dark' ? 'darkLogos' : 'lightLogos' ] ||
154+ LOGOS_PATHS . lightLogos ,
155+ [ resolvedTheme ] ,
156+ ) ;
154157 return (
155158 < div >
156159 < div className = 'flex flex-col items-center' >
0 commit comments