close hamburger when anything clicked (hack)

This commit is contained in:
Brandon Thomas committed 2022-01-16 23:16:19 -05:00
1 parent 53ba9447d3
commit bab5d4189e
3 files changed
+83 -61

No files matched your search

@@ -23,6 +23,7 @@ function MigrationTopNav(props: Props) {
sessionWrapper={props.sessionWrapper}
enableAlpha={props.enableAlpha}
querySessionAction={props.querySessionAction}
closeHamburgerAction={() => {}} // No-op
/>
</nav>
)
@@ -7,6 +7,7 @@ interface Props {
sessionWrapper: SessionWrapper,
enableAlpha: boolean,
querySessionAction: () => void,
closeHamburgerAction: () => void,
}
function MigrationTopNavSession(props: Props) {
@@ -62,18 +63,23 @@ function MigrationTopNavSession(props: Props) {
sessionLink = (
<Link
to={url}
onClick={() => props.closeHamburgerAction()}
className="button is-alert is-inverted is-pulled-right"
> {gravatar}&nbsp; {displayName}</Link>
);
logoutLink = <button
className="button is-alert is-inverted is-pulled-right"
onClick={logoutHandler}
onClick={() => {
logoutHandler();
props.closeHamburgerAction();
}}
>Logout</button>;
} else {
sessionLink = (
<Link
to="/signup"
className="button is-danger is-pulled-right"
onClick={() => props.closeHamburgerAction()}
>Sign Up / Login</Link>
);
}
+75 -60
View File
@@ -25,81 +25,96 @@ function NewTopNavFc(props: Props) {
setMobileHamburgerIsActive(!mobileHamburgerIsActive);
}
const closeHamburger = () => {
// TODO: This is an ergonomic hack.
// The hamburger ideally should close whenever it is no longer active.
setMobileHamburgerIsActive(false);
}
const navbarClasses = mobileHamburgerIsActive ? "navbar-menu is-active" : "navbar-menu";
const navbarBurgerClasses = mobileHamburgerIsActive ? "navbar-burger is-active" : "navbar-burger";
return (
<>
<nav className="navbar is-transparent padding-bottom-1em">
<div className="navbar-brand">
<Link className="navbar-item" to="/">
<img src="/fakeyou/fakeyou-nav-logo.png" alt="FakeYou: Cartoon and Celebrity Text to Speech" />
</Link>
<div className={navbarBurgerClasses} data-target="navbarExampleTransparentExample" onClick={() => toggleHamburger()}>
<span></span>
<span></span>
<span></span>
<nav className="navbar is-transparent padding-bottom-1em">
<div className="navbar-brand">
<Link className="navbar-item" to="/">
<img src="/fakeyou/fakeyou-nav-logo.png" alt="FakeYou: Cartoon and Celebrity Text to Speech" />
</Link>
<div className={navbarBurgerClasses} data-target="navbarExampleTransparentExample" onClick={() => toggleHamburger()}>
<span></span>
<span></span>
<span></span>
</div>
</div>
</div>
<div id="navbarExampleTransparentExample" className={navbarClasses}>
<div className="navbar-start">
<div id="navbarExampleTransparentExample" className={navbarClasses}>
<div className="navbar-start">
<Link to="/"
className="navbar-item"
>TTS</Link>
<Link to="/"
className="navbar-item"
onClick={() => closeHamburger()}
>TTS</Link>
<Link to="/video"
className="navbar-item"
>Video</Link>
<div className="navbar-item has-dropdown is-hoverable">
<Link to={myDataLink}
className="navbar-link"
>Community</Link>
<div className="navbar-dropdown is-boxed">
<Link to="/contribute"
className="navbar-item"
>Contribute / Upload</Link>
<Link to="/leaderboard"
className="navbar-item"
>Leaderboard</Link>
<Link to={FrontendUrlConfig.patronsPage()}
className="navbar-item"
>Patrons</Link>
<Link to="/firehose"
className="navbar-item"
>Feed</Link>
<hr className="navbar-divider" />
<Link to="/video"
className="navbar-item"
onClick={() => closeHamburger()}
>Video</Link>
<div className="navbar-item has-dropdown is-hoverable">
<Link to={myDataLink}
className="navbar-item is-active"
>My Data</Link>
</div>
</div>
</div>
className="navbar-link"
onClick={() => closeHamburger()}
>Community</Link>
<div className="navbar-end">
<div className="navbar-item">
<div className="field is-grouped">
<p className="control">
<MigrationTopNavSession
sessionWrapper={props.sessionWrapper}
enableAlpha={true}
querySessionAction={props.querySessionCallback}
/>
</p>
<div className="navbar-dropdown is-boxed">
<Link to="/contribute"
className="navbar-item"
onClick={() => closeHamburger()}
>Contribute / Upload</Link>
<Link to="/leaderboard"
className="navbar-item"
onClick={() => closeHamburger()}
>Leaderboard</Link>
<Link to={FrontendUrlConfig.patronsPage()}
className="navbar-item"
onClick={() => closeHamburger()}
>Patrons</Link>
<Link to="/firehose"
className="navbar-item"
onClick={() => closeHamburger()}
>Feed</Link>
<hr className="navbar-divider" />
<Link to={myDataLink}
className="navbar-item is-active"
onClick={() => closeHamburger()}
>My Data</Link>
</div>
</div>
</div>
<div className="navbar-end">
<div className="navbar-item">
<div className="field is-grouped">
<p className="control">
<MigrationTopNavSession
sessionWrapper={props.sessionWrapper}
enableAlpha={true}
querySessionAction={props.querySessionCallback}
closeHamburgerAction={() => closeHamburger()}
/>
</p>
</div>
</div>
</div>
</div>
</div>
</nav>
</nav>
</>
)
}