Remove unused component

This commit is contained in:
Sam Becker 2024-05-26 13:23:43 -05:00
parent 41968fd6de
commit 83c821f664

View File

@ -1,67 +0,0 @@
'use client';
import { useRouter } from 'next/navigation';
import { useCallback, useEffect, useRef, useTransition } from 'react';
import Spinner from './Spinner';
export default function MoreComponentsFromSearchParams({
path,
label = 'Load more',
triggerOnView = true,
prefetch = true,
}: {
path: string
label?: string
triggerOnView?: boolean
prefetch?: boolean
}) {
const router = useRouter();
const [isPending, startTransition] = useTransition();
const buttonRef = useRef<HTMLButtonElement>(null);
const advance = useCallback(() => startTransition(() => {
router.push(path, { scroll: false });
}), [router, path]);
useEffect(() => {
if (prefetch) {
router.prefetch(path);
}
}, [router, path, prefetch]);
useEffect(() => {
const observer = new IntersectionObserver(e => {
if (
triggerOnView &&
e[0].isIntersecting &&
!isPending
) {
advance();
}
}, {
root: null,
threshold: 0,
});
observer.observe(buttonRef.current!);
return () => observer.disconnect();
}, [triggerOnView, advance, isPending]);
return (
<button
ref={buttonRef}
className="block w-full subtle"
onClick={!triggerOnView ? advance : undefined}
disabled={triggerOnView || isPending}
>
{isPending
? <span className="relative inline-block translate-y-[3px]">
<Spinner size={16} />
</span>
: label}
</button>
);
}