From 46d52008494164218fac99136439fc9d31bd166d Mon Sep 17 00:00:00 2001 From: AshDyson Date: Sat, 20 Apr 2024 21:21:51 +0100 Subject: [PATCH] feat(fe): genres list menu --- pkg/frontend/src/components/nav.js | 52 +++++-- pkg/frontend/src/components/navGenres.js | 73 ++++++++++ pkg/frontend/src/pages/index.js | 7 +- pkg/frontend/src/pages/movie/studio/[pid].js | 120 ---------------- pkg/frontend/src/pages/tv/network/[pid].js | 130 ------------------ .../src/styles/components/card.module.scss | 2 +- .../src/styles/components/nav.module.scss | 105 ++++++++++++-- pkg/frontend/src/styles/global/global.scss | 7 + 8 files changed, 222 insertions(+), 274 deletions(-) create mode 100644 pkg/frontend/src/components/navGenres.js delete mode 100644 pkg/frontend/src/pages/movie/studio/[pid].js delete mode 100644 pkg/frontend/src/pages/tv/network/[pid].js diff --git a/pkg/frontend/src/components/nav.js b/pkg/frontend/src/components/nav.js index 41466b1f2..d4174c1ca 100644 --- a/pkg/frontend/src/components/nav.js +++ b/pkg/frontend/src/components/nav.js @@ -18,12 +18,14 @@ import inp from '../styles/components/input.module.scss'; // import { useRouter } from 'next/router'; import styles from '../styles/components/nav.module.scss'; import typo from '../styles/components/typography.module.scss'; +import NavGenres from './navGenres'; export default function Nav(props) { const [searchQuery, setSearchQuery] = useState(''); const [showSearch, setShowSearch] = useState(false); const [mobile, setMobile] = useState(false); const [darken, setDarken] = useState(false); + const [genresOpen, setGenresOpen] = useState(false); const history = useHistory(); const inputRef = useRef(); @@ -49,6 +51,10 @@ export default function Nav(props) { }; }, []); + useEffect(() => { + setGenresOpen(false); + }, [history.location]); + function updateSearch(e) { const val = e.target.value; media.searchUpdate(val); @@ -88,7 +94,9 @@ export default function Nav(props) {
@@ -109,20 +117,36 @@ export default function Nav(props) { resetScrollPos('/')} - className={`${typo.body} ${typo.bold}`} + className={`${typo.body} ${typo.bold} ${styles.nav__item}`} > Movies & TV - - + + Requests - + My Account {props.currentUser.role === 'admin' || props.currentUser.role === 'moderator' ? ( - + Admin ) : null} @@ -169,7 +193,7 @@ export default function Nav(props) { to="/" onClick={() => resetScrollPos('/')} className={`${typo.xsmall} ${styles.mobile_nav__item} ${ - history.location.pathname === '/' + history.location.pathname === '/' && !genresOpen ? styles.mobile_nav__item__active : '' }`} @@ -179,7 +203,12 @@ export default function Nav(props) { Movies & TV -