aboutsummaryrefslogtreecommitdiff
path: root/examples/docs/src/components/RightSidebar/TableOfContents.tsx
diff options
context:
space:
mode:
authorGravatar Julius Marminge <julius0216@outlook.com> 2022-08-29 18:00:08 +0200
committerGravatar GitHub <noreply@github.com> 2022-08-29 12:00:08 -0400
commitfeb88afb8c784e0db65be96073a1b0064e36128c (patch)
tree5addfda086b0a315ae92b684fe065fea8c7970c7 /examples/docs/src/components/RightSidebar/TableOfContents.tsx
parent046bfd908de8bbfe9d24d1531260f1e6df03e912 (diff)
downloadastro-feb88afb8c784e0db65be96073a1b0064e36128c.tar.gz
astro-feb88afb8c784e0db65be96073a1b0064e36128c.tar.zst
astro-feb88afb8c784e0db65be96073a1b0064e36128c.zip
fix: improve docs example (#4355)
* fix: improve docs example * final touches * chore: prettier * lockfile * ci? * downgrade types node * fresh lockfile * lockfile and npmrc * remove debug log * Merge branch 'main' into docs-template-ts * merging lockfiles suck * update lockfile * satisfy linter
Diffstat (limited to 'examples/docs/src/components/RightSidebar/TableOfContents.tsx')
-rw-r--r--examples/docs/src/components/RightSidebar/TableOfContents.tsx19
1 files changed, 12 insertions, 7 deletions
diff --git a/examples/docs/src/components/RightSidebar/TableOfContents.tsx b/examples/docs/src/components/RightSidebar/TableOfContents.tsx
index 6348bdfd0..5c6851462 100644
--- a/examples/docs/src/components/RightSidebar/TableOfContents.tsx
+++ b/examples/docs/src/components/RightSidebar/TableOfContents.tsx
@@ -1,13 +1,18 @@
import type { FunctionalComponent } from 'preact';
-import { h, Fragment } from 'preact';
import { useState, useEffect, useRef } from 'preact/hooks';
-import { MarkdownHeading } from 'astro';
+import type { MarkdownHeading } from 'astro';
+
+type ItemOffsets = {
+ id: string;
+ topOffset: number;
+};
const TableOfContents: FunctionalComponent<{ headings: MarkdownHeading[] }> = ({
headings = [],
}) => {
- const itemOffsets = useRef([]);
- const [activeId, setActiveId] = useState<string>(undefined);
+ const itemOffsets = useRef<ItemOffsets[]>([]);
+ // FIXME: Not sure what this state is doing. It was never set to anything truthy.
+ const [activeId] = useState<string>('');
useEffect(() => {
const getItemOffsets = () => {
const titles = document.querySelectorAll('article :is(h1, h2, h3, h4)');
@@ -27,16 +32,16 @@ const TableOfContents: FunctionalComponent<{ headings: MarkdownHeading[] }> = ({
return (
<>
- <h2 class="heading">On this page</h2>
+ <h2 className="heading">On this page</h2>
<ul>
- <li class={`heading-link depth-2 ${activeId === 'overview' ? 'active' : ''}`.trim()}>
+ <li className={`heading-link depth-2 ${activeId === 'overview' ? 'active' : ''}`.trim()}>
<a href="#overview">Overview</a>
</li>
{headings
.filter(({ depth }) => depth > 1 && depth < 4)
.map((heading) => (
<li
- class={`heading-link depth-${heading.depth} ${
+ className={`heading-link depth-${heading.depth} ${
activeId === heading.slug ? 'active' : ''
}`.trim()}
>