import { ResourceInfo, KeyInfo, PlotlyChart, Table, ReadMe } from 'portal' import path from 'path' import Head from 'next/head' import { getDataset } from '../lib/dataset' import { addView } from '../lib/utils' const datasetsDirectory = process.env.PORTAL_DATASET_PATH || path.join(process.cwd(), "public", "dataset") export default function Home({ dataset, specs }) { if (!dataset) { return (
Dataset

No dataset found in path

) } const descriptor = dataset['descriptor'] const resources = dataset['resources'] const columns = resources[0].schema.fields.map((field) => { return { field: field.name, headerName: field.name } }) const tableSample = resources[0].sample return (
Dataset

Graph

{!specs || Object.keys(specs).length == 0 ? (

No graph to display

) : ( Object.values(JSON.parse(specs)).map((spec, i) => { if (["simple", "plotly"].includes(spec.specType)) { return (
) } }) )}

Data Preview

{descriptor.title}

{resources[0].sample ? ( ) : ( 'No preview is available for this dataset' )}

README

) } export async function getStaticProps() { if (!datasetsDirectory) { return { props: {} } } const dataset = await getDataset(datasetsDirectory) const datasetWithViews = addView(dataset) return datasetWithViews }