(null);
let shownMode = useRef(catalogueMode);
useEffect(() => {
if (shownMode.current === catalogueMode) return;
shownMode.current = catalogueMode;
if (matchMedia("(prefers-reduced-motion: reduce)").matches) return;
let style = getComputedStyle(actionsRef.current ?? document.documentElement);
let offset = catalogueMode === "archived" ? "8px" : "-8px";
for (let element of [actionsRef.current, listRef.current]) {
element?.animate(
[{ opacity: 0, transform: `translateX(${offset})` }, { opacity: 1, transform: "none" }],
{
duration: parseFloat(style.getPropertyValue("--duration-base")) || 200,
easing: style.getPropertyValue("--motion-smooth-out").trim() || "ease-out",
},
);
}
}, [catalogueMode]);
let searchButton = (
);
let primaryActions = (
{archiveMode
? (
<>
{searchButton}
>
)
: (
<>
>
)}
);
let archiveFooter = !archiveMode
? (
)
: null;
return (
);
}