+
+
+ {title}
+
+ #{sectionKey}
+
+
{lead ?
{lead}
: null}
{notes?.length ? (
diff --git a/src/components/SiteLayout.tsx b/src/components/SiteLayout.tsx
index e141d19..1b13349 100644
--- a/src/components/SiteLayout.tsx
+++ b/src/components/SiteLayout.tsx
@@ -1,9 +1,24 @@
-import React from 'react'
-import { Outlet, ScrollRestoration } from 'react-router-dom'
+import React, { useEffect } from 'react'
+import { Outlet, useLocation } from 'react-router-dom'
import { Header } from './Header'
import { Footer } from './Footer'
export const SiteLayout: React.FC = () => {
+ const location = useLocation()
+
+ useEffect(() => {
+ if (location.hash) {
+ const id = decodeURIComponent(location.hash.replace('#', ''))
+ const target = document.getElementById(id)
+ if (target) {
+ target.scrollIntoView({ behavior: 'smooth', block: 'start' })
+ return
+ }
+ }
+
+ window.scrollTo({ top: 0, left: 0, behavior: 'auto' })
+ }, [location.pathname, location.hash])
+
return (
@@ -11,7 +26,6 @@ export const SiteLayout: React.FC = () => {
-
)
}