fix: Improve rendering of TOC panel
This commit is contained in:
@@ -1,16 +1,15 @@
|
|||||||
.toc {
|
.toc {
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
min-width: 25vw;
|
flex: 1 0 25vw;
|
||||||
flex: 1 auto;
|
|
||||||
|
|
||||||
&.hidden {
|
&.hidden {
|
||||||
flex: 0 0;
|
display: none;
|
||||||
min-width: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
transition: flex-basis 0.1s ease-in-out;
|
||||||
|
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
overflow-x: wrap;
|
overflow-x: wrap;
|
||||||
height: 100vh;
|
|
||||||
|
|
||||||
.tocDivision {
|
.tocDivision {
|
||||||
margin-block: 0.5rem;
|
margin-block: 0.5rem;
|
||||||
|
|||||||
@@ -55,15 +55,17 @@ function TOC({ toc }: TOCProps) {
|
|||||||
const [isVisible, setIsVisible] = useState(true);
|
const [isVisible, setIsVisible] = useState(true);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<nav className={[styles.toc, isVisible ? "" : styles.hidden].join(" ")}>
|
<>
|
||||||
<button
|
<button
|
||||||
onClick={() => setIsVisible(!isVisible)}
|
onClick={() => setIsVisible(!isVisible)}
|
||||||
className={styles.toggleButton}
|
className={styles.toggleButton}
|
||||||
>
|
>
|
||||||
{isVisible ? "<" : ">"}
|
{isVisible ? "<" : ">"}
|
||||||
</button>
|
</button>
|
||||||
{toc.map((division) => renderDivision(division))}
|
<nav className={[styles.toc, isVisible ? "" : styles.hidden].join(" ")}>
|
||||||
</nav>
|
{toc.map((division) => renderDivision(division))}
|
||||||
|
</nav>
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
export default TOC;
|
export default TOC;
|
||||||
|
|||||||
Reference in New Issue
Block a user