diff --git a/src/components/UI/docs/DocsLinks.tsx b/src/components/UI/docs/DocsLinks.tsx index ab77e803ae..1eb9d48bf3 100644 --- a/src/components/UI/docs/DocsLinks.tsx +++ b/src/components/UI/docs/DocsLinks.tsx @@ -19,9 +19,10 @@ import { NavLink } from '../../../types'; interface Props { navLinks: NavLink[]; + updateMobileAccordionState: () => void; } -export const DocsLinks: FC = ({ navLinks }) => { +export const DocsLinks: FC = ({ navLinks, updateMobileAccordionState }) => { const router = useRouter(); const { slug } = router.query; return ( @@ -52,7 +53,7 @@ export const DocsLinks: FC = ({ navLinks }) => { _groupHover={{ background: 'primary', color: 'bg', textDecoration: 'none' }} > {to ? ( - + = ({ navLinks }) => { {items && ( - + )} diff --git a/src/components/UI/docs/DocsNav.tsx b/src/components/UI/docs/DocsNav.tsx index 3dcb661d4e..e086db3748 100644 --- a/src/components/UI/docs/DocsNav.tsx +++ b/src/components/UI/docs/DocsNav.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import { FC, useState } from 'react'; import { Accordion, AccordionButton, @@ -17,14 +17,22 @@ interface Props { } export const DocsNav: FC = ({ navLinks }) => { + const OPEN = 0; + const CLOSED = -1; + const [mobileAccordionState, setMobileAccordionState] = useState(CLOSED) + + const updateMobileAccordionState = () => { + setMobileAccordionState(mobileAccordionState === OPEN ? CLOSED : OPEN) + } + return ( - + - + = ({ navLinks }) => { - + diff --git a/src/components/UI/docs/LinksList.tsx b/src/components/UI/docs/LinksList.tsx index 6c9d838e1d..ed2674204b 100644 --- a/src/components/UI/docs/LinksList.tsx +++ b/src/components/UI/docs/LinksList.tsx @@ -7,9 +7,10 @@ import { NavLink } from '../../../types'; interface LinksListProps { links: NavLink[]; + updateMobileAccordionState: () => void; } -export const LinksList: FC = ({ links }) => { +export const LinksList: FC = ({ links, updateMobileAccordionState }) => { const router = useRouter(); const { slug } = router.query; return ( @@ -19,7 +20,7 @@ export const LinksList: FC = ({ links }) => { const isActive = slug && split && split[split.length - 1] === slug[slug.length - 1]; return to ? ( - + = ({ links }) => { - {items && } + {items && } ) : ( {id} - {items && } + {items && } ); })}