@@ -1,7 +1,7 @@
1import { useState, useEffect, useRef } from "react";
1import { useState, useEffect, useRef } from "react";
3−export const TableOfContents = ({ staticPosition }) => {
3+export const TableOfContents = ({ staticPosition, noh3s }) => {
4− const { nestedHeadings } = useHeadingsData();
4+ const { nestedHeadings } = useHeadingsData(noh3s);
5 const [activeId, setActiveId] = useState();
5 const [activeId, setActiveId] = useState();
6 useIntersectionObserver(setActiveId);
6 useIntersectionObserver(setActiveId);
@@ -36,11 +36,12 @@ const getNestedHeadings = (headingElements) => {
36 return nestedHeadings;
36 return nestedHeadings;
39−const useHeadingsData = () => {
39+const useHeadingsData = (noh3s) => {
40 const [nestedHeadings, setNestedHeadings] = useState([]);
40 const [nestedHeadings, setNestedHeadings] = useState([]);
42+ const query = noh3s ? "h2" : "h2, h3";
42 useEffect(() => {
43 useEffect(() => {
43− const headingElements = Array.from(document.querySelectorAll("h2, h3"));
44+ const headingElements = Array.from(document.querySelectorAll(query));
45 const newNestedHeadings = getNestedHeadings(headingElements);
46 const newNestedHeadings = getNestedHeadings(headingElements);
46 setNestedHeadings(newNestedHeadings);
47 setNestedHeadings(newNestedHeadings);