11import React from 'react' ;
22import useBaseUrl from '@docusaurus/useBaseUrl' ;
3- import { useLocation } from '@docusaurus/router' ;
43import { Navbar } from '@swmansion/t-rex-ui' ;
5- import TopPromoRotator , {
6- PROMO_VERSION ,
7- } from '@site/src/components/TopPromoRotator' ;
84
95export default function NavbarWrapper ( props ) {
10- const location = useLocation ( ) ;
11- const baseUrl = useBaseUrl ( '/' ) ;
12- const isLanding = location . pathname === baseUrl ;
13-
14- const [ showPromo , setShowPromo ] = React . useState ( true ) ;
15-
16- React . useEffect ( ( ) => {
17- if ( isLanding || typeof globalThis === 'undefined' ) {
18- return ;
19- }
20-
21- try {
22- const raw = globalThis . localStorage ?. getItem ( 'topPromoState' ) ;
23- const state = raw ? JSON . parse ( raw ) : null ;
24- if ( state ?. v === PROMO_VERSION && state ?. hidden ) {
25- setShowPromo ( false ) ;
26- }
27- } catch ( _ ) {
28- // ignore
29- }
30- } , [ isLanding ] ) ;
31-
32- const handleClosePromo = React . useCallback ( ( ) => {
33- setShowPromo ( false ) ;
34- if ( typeof globalThis !== 'undefined' ) {
35- try {
36- globalThis . localStorage ?. setItem (
37- 'topPromoState' ,
38- JSON . stringify ( { v : PROMO_VERSION , hidden : true } )
39- ) ;
40- } catch {
41- // ignore
42- }
43- }
44- } , [ ] ) ;
45-
466 const titleImages = {
477 light : useBaseUrl ( '/img/title.svg' ) ,
488 dark : useBaseUrl ( '/img/title-dark.svg' ) ,
@@ -51,15 +11,7 @@ export default function NavbarWrapper(props) {
5111 const heroImages = {
5212 logo : useBaseUrl ( '/img/logo-hero.svg' ) ,
5313 } ;
54-
5514 return (
56- < div style = { { display : 'flex' , flexDirection : 'column' , flexShrink : 0 } } >
57- { isLanding ? (
58- < TopPromoRotator />
59- ) : (
60- showPromo && < TopPromoRotator onClose = { handleClosePromo } />
61- ) }
62- < Navbar heroImages = { heroImages } titleImages = { titleImages } { ...props } />
63- </ div >
15+ < Navbar heroImages = { heroImages } titleImages = { titleImages } { ...props } />
6416 ) ;
65- }
17+ }
0 commit comments