47 lines
1.3 KiB
TypeScript
Raw Normal View History

2024-07-10 14:11:18 -08:00
import VodsList, { VodsListHeading } from '@/app/components/vods-list';
import { getVtuberBySlug, getUrl } from '@/app/lib/vtubers';
import { IVodsResponse, getVodsForVtuber } from '@/app/lib/vods';
import Pager from '@/app/components/pager';
2024-01-20 08:16:14 -08:00
import { notFound } from 'next/navigation';
interface IPageParams {
params: {
slug: string;
page: string;
};
}
export default async function Page({ params }: IPageParams) {
const pageNumber = parseInt(params.page);
2024-12-11 23:23:46 -08:00
const pageSize = 24
2024-01-20 08:16:14 -08:00
2025-01-10 19:10:04 -08:00
console.log(`lets get us some vtuber and vods`);
const vtuber = await getVtuberBySlug(params.slug);
if (!vtuber) {
console.error('getVtuberBySlug failed to get us a vtuber object.')
return <p>failed to get vtuber</p>
// return notFound();
2024-01-20 08:16:14 -08:00
}
2025-01-10 19:10:04 -08:00
2024-01-20 08:16:14 -08:00
2025-01-10 19:10:04 -08:00
const {vods, count} = await getVodsForVtuber(vtuber.id, pageNumber, 24, true);
if (!vods) {
return <p>failed to get vods</p>
console.error('getVodsForVtuber failed to get us a vods object.')
// return notFound();
}
2024-01-20 08:16:14 -08:00
return (
<>
2024-12-11 23:23:46 -08:00
<VodsListHeading slug={vtuber.slug} displayName={vtuber.display_name} />
<VodsList vtuber={vtuber} vods={vods} page={pageNumber} pageSize={pageSize} />
2024-01-20 08:16:14 -08:00
<Pager
baseUrl={`/vt/${params.slug}/vods`}
page={parseInt(params.page)}
2024-12-11 23:23:46 -08:00
pageCount={vods.length/pageSize}
2024-01-20 08:16:14 -08:00
/>
</>
);
}