File tree Expand file tree Collapse file tree 2 files changed +13
-28
lines changed
src/generators/web/ui/components Expand file tree Collapse file tree 2 files changed +13
-28
lines changed Original file line number Diff line number Diff line change 1- import { lazy , Suspense } from 'preact/compat' ;
2- import { useMemo } from 'preact/hooks' ;
1+ import { useState , useEffect } from 'preact/hooks' ;
32
43import AnnouncementBanner from './AnnouncementBanner.jsx' ;
54import { loadBanners } from './loadBanners.mjs' ;
65
7- /**
8- * @param {{ remoteConfig: string, versionMajor: number | null } } props
9- */
10- const RemoteLoadableBanner = ( { remoteConfig, versionMajor } ) => {
11- const LazyBanners = useMemo (
12- ( ) =>
13- lazy ( async ( ) => {
14- const active = await loadBanners ( remoteConfig , versionMajor ) ;
6+ import { remoteConfig , versionMajor } from '#theme/config' ;
157
16- if ( ! active . length ) {
17- return { default : ( ) => null } ;
18- }
8+ const RemoteLoadableBanner = ( ) => {
9+ const [ banners , setBanners ] = useState ( [ ] ) ;
1910
20- return { default : ( ) => < AnnouncementBanner banners = { active } /> } ;
21- } ) ,
22- // eslint-disable-next-line react-x/exhaustive-deps
23- [ ]
24- ) ;
11+ useEffect ( ( ) => {
12+ loadBanners ( remoteConfig , versionMajor ) . then ( active => {
13+ if ( active . length ) {
14+ setBanners ( active ) ;
15+ }
16+ } ) ;
17+ } , [ ] ) ;
2518
26- return (
27- < Suspense fallback = { null } >
28- < LazyBanners />
29- </ Suspense >
30- ) ;
19+ return banners . length ? < AnnouncementBanner banners = { banners } /> : null ;
3120} ;
3221
3322export default RemoteLoadableBanner ;
Original file line number Diff line number Diff line change @@ -3,7 +3,6 @@ import Article from '@node-core/ui-components/Containers/Article';
33
44import RemoteLoadableBanner from '../AnnouncementBanner' ;
55
6- import { remoteConfig , versionMajor } from '#theme/config' ;
76import Footer from '#theme/Footer' ;
87import MetaBar from '#theme/Metabar' ;
98import NavBar from '#theme/Navigation' ;
@@ -20,10 +19,7 @@ import SideBar from '#theme/Sidebar';
2019 */
2120export default ( { metadata, headings, readingTime, children } ) => (
2221 < >
23- < RemoteLoadableBanner
24- remoteConfig = { remoteConfig }
25- versionMajor = { versionMajor }
26- />
22+ < RemoteLoadableBanner />
2723 < NavBar metadata = { metadata } />
2824 < Article >
2925 < SideBar metadata = { metadata } />
You can’t perform that action at this time.
0 commit comments