diff --git a/app/lish/[did]/[publication]/PublicationHomeLayout.tsx b/app/lish/[did]/[publication]/PublicationHomeLayout.tsx
index 5601f754..96a61e7d 100644
--- a/app/lish/[did]/[publication]/PublicationHomeLayout.tsx
+++ b/app/lish/[did]/[publication]/PublicationHomeLayout.tsx
@@ -22,7 +22,7 @@ export function PublicationHomeLayout(props: {
{inner}
@@ -32,7 +32,7 @@ export function PublicationHomeLayout(props: {
return (
{inner}
diff --git a/app/lish/[did]/[publication]/PublicationStickyHeader.tsx b/app/lish/[did]/[publication]/PublicationStickyHeader.tsx
index 0fe2515e..d2bef4ad 100644
--- a/app/lish/[did]/[publication]/PublicationStickyHeader.tsx
+++ b/app/lish/[did]/[publication]/PublicationStickyHeader.tsx
@@ -4,14 +4,12 @@ import { usePathname } from "next/navigation";
export function PublicationStickyHeader(props: {
sticky?: boolean;
- scrollContainerSelector?: string;
nav?: React.ReactNode;
children: React.ReactNode;
}) {
let ref = useRef
(null);
let pathname = usePathname();
let sticky = props.sticky ?? true;
- let selector = props.scrollContainerSelector;
useEffect(() => {
let el = ref.current;
@@ -31,41 +29,29 @@ export function PublicationStickyHeader(props: {
});
};
- if (selector) {
- let onScroll = (e: Event) => {
- let t = e.target;
- if (!(t instanceof HTMLElement)) return;
- if (!t.matches(selector)) return;
- schedule(t);
- };
- parent.addEventListener("scroll", onScroll, {
- passive: true,
- capture: true,
- });
- let initial = parent.querySelector(selector) as HTMLElement | null;
- if (initial) writeProgress(initial);
- return () => {
- if (rafId !== null) cancelAnimationFrame(rafId);
- parent.removeEventListener("scroll", onScroll, true);
- };
- }
+ let onScroll = (e: Event) => {
+ let t = e.target;
+ if (!(t instanceof HTMLElement)) return;
+ if (!t.matches(".publicationScrollContainer")) return;
+ schedule(t);
+ };
+ parent.addEventListener("scroll", onScroll, {
+ passive: true,
+ capture: true,
+ });
+
+ let initial = (
+ parent.matches(".publicationScrollContainer")
+ ? parent
+ : parent.querySelector(".publicationScrollContainer")
+ ) as HTMLElement | null;
+ if (initial) writeProgress(initial);
- let p: HTMLElement | null = parent;
- while (p && p !== document.body) {
- let s = getComputedStyle(p);
- if (s.overflowY === "auto" || s.overflowY === "scroll") break;
- p = p.parentElement;
- }
- if (!p || p === document.body) return;
- let target = p;
- let onScroll = () => schedule(target);
- target.addEventListener("scroll", onScroll, { passive: true });
- writeProgress(target);
return () => {
if (rafId !== null) cancelAnimationFrame(rafId);
- target.removeEventListener("scroll", onScroll);
+ parent.removeEventListener("scroll", onScroll, true);
};
- }, [selector]);
+ }, []);
useEffect(() => {
ref.current?.style.setProperty("--header-shrink", "0");
diff --git a/app/lish/[did]/[publication]/edit/[[...route]]/layout.tsx b/app/lish/[did]/[publication]/edit/[[...route]]/layout.tsx
index 23e0d44c..f0e8d756 100644
--- a/app/lish/[did]/[publication]/edit/[[...route]]/layout.tsx
+++ b/app/lish/[did]/[publication]/edit/[[...route]]/layout.tsx
@@ -93,10 +93,7 @@ export default async function PublicationEditLayout(props: {
publicationName={params.publication}
/>