Skip to content

Commit 37122d7

Browse files
committed
adding useMemo
1 parent af4bb61 commit 37122d7

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

pages/index.page.tsx

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useEffect, useState } from 'react';
1+
import React, { useEffect, useMemo, useState } from 'react';
22
import { getLayout } from '../components/SiteLayout';
33
import { DocSearch } from '@docsearch/react';
44
import 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

Comments
 (0)