import Head from "next/head"; import { CKAN, Dataset } from "@portaljs/ckan"; import { ChevronRightIcon, HomeIcon, PaperClipIcon, } from "@heroicons/react/20/solid"; import Link from "next/link"; export const getServerSideProps = async (context: any) => { try { const datasetName = context.params?.dataset; if (!datasetName) { return { notFound: true, }; } const ckan = new CKAN("https://demo.dev.datopian.com"); const dataset = await ckan.getDatasetDetails(datasetName as string); if (!dataset) { return { notFound: true, }; } return { props: { dataset }, }; } catch { return { notFound: true, }; } }; export default function DatasetPage({ dataset, }: { dataset: Dataset; }): JSX.Element { return ( <> {`${dataset.title || dataset.name} - Dataset`}
{dataset && (

{dataset.title || dataset.name}

Dataset details

Title
{dataset.title}
{dataset.tags && dataset.tags.length > 0 && (
Tags
{dataset.tags.map((tag) => tag.display_name).join(", ")}
)} {dataset.tags && dataset.tags.length > 0 && (
URL
{dataset.url}
)}
{dataset.notes && ( <>
Description
{dataset.notes}
)}
Files
    {dataset.resources.map((resource) => (
  • ))}
)}
); }