export default async function DinosaurPage(_req: Request, ctx: RouteContext) {
const res = await fetch(new URL(`${ctx.url.origin}/api/dinosaur`));
if (!(res.status === 200)) {
return (
<div>
Error
</div>
);
}
const { data } = await res.json() as { data: Dinosaur[] };
const dinosaurs = useSignal<Dinosaur[]>(data);
const total = useComputed(() => dinosaurs.value.length);
return (
<>
<div class="p-4">
<h1 class="text-4xl pb-4 font-semibold">
Mis dinosaurios favoritos :D - Total: {total}
</h1>
<div class="flex flex-col gap-4">
{dinosaurs.value.map((dinosaur: Dinosaur, index: number) => (
<DinosaurCard dinosaur={dinosaur} />
))}
</div>
</div>
</>
);
}
export default async function DinosaurPage(_req: Request, ctx: RouteContext) {
const res = await fetch(new URL(`${ctx.url.origin}/api/dinosaur`));
if (!(res.status === 200)) {
return (
<div>
Error
</div>
);
}
const { data } = await res.json() as { data: Dinosaur[] };
const dinosaurs = useSignal<Dinosaur[]>(data);
const total = useComputed(() => dinosaurs.value.length);
return (
<>
<div class="p-4">
<h1 class="text-4xl pb-4 font-semibold">
Mis dinosaurios favoritos :D - Total: {total}
</h1>
<div class="flex flex-col gap-4">
{dinosaurs.value.map((dinosaur: Dinosaur, index: number) => (
<DinosaurCard dinosaur={dinosaur} />
))}
</div>
</div>
</>
);
}