added index to the docs/types route, minor fixes to styling

This commit is contained in:
Xanazf 2024-10-17 19:35:39 +03:00
parent ea5b56acc8
commit 349c87a205
No known key found for this signature in database
GPG key ID: 4E4A5AD1FB748427
9 changed files with 109 additions and 32 deletions

View file

@ -1,4 +1,10 @@
import { createSignal, onMount, type Component } from "solid-js";
import {
createEffect,
createSignal,
onMount,
onCleanup,
type Component,
} from "solid-js";
import { Article } from "@icons";
import { Table } from "./Table";
@ -24,20 +30,33 @@ const TableOfContents: Component<TOCProps> = props => {
}
const handleClickOutside = (event: MouseEvent) => {
const isLink = "href" in (event.target || {});
const isInBody = document.body.contains(event.target as Node);
if (
isLink ||
(document.body.contains(event.target as Node) &&
!tocRef.contains(event.target as Node))
!isInBody ||
(isInBody && !tocRef.contains(event.target as Node))
) {
setOpen(false);
}
};
onMount(() => {
window.addEventListener("click", handleClickOutside);
return () => {
onCleanup(() => {
window.removeEventListener("click", handleClickOutside);
};
});
});
createEffect(() => {
const tocRoot = document.getElementById("toc")!;
if (open()) {
window.addEventListener("click", handleClickOutside);
document.body.style.overflow = "hidden";
document.body.classList.add("dim-content");
} else {
window.removeEventListener("click", handleClickOutside);
document.body.style.overflow = "auto";
document.body.classList.remove("dim-content");
}
});
return (