/* Imports */ // React import { useRouter } from "next/router"; // https://nextjs.org/docs/api-reference/next/router import { useState } from "react"; import { getPlatformsConfig } from "../backend/platforms"; import displayForecasts from "../web/display/displayForecasts"; import { addLabelsToForecasts } from "../web/platforms"; import { getDashboardForecastsByDashboardId } from "../web/worker/getDashboardForecasts"; /* get Props */ export async function getServerSideProps(context) { console.log("getServerSideProps: "); let urlQuery = context.query; console.log(urlQuery); let dashboardId = urlQuery.dashboardId; let numCols = urlQuery.numCols; let props; if (!!dashboardId) { console.log(dashboardId); let { dashboardForecasts, dashboardItem } = await getDashboardForecastsByDashboardId({ dashboardId, }); dashboardForecasts = addLabelsToForecasts( dashboardForecasts, getPlatformsConfig({ withGuesstimate: false }) ); props = { initialDashboardForecasts: dashboardForecasts, initialDashboardId: urlQuery.dashboardId, initialDashboardItem: dashboardItem, initialNumCols: !numCols ? null : numCols < 5 ? numCols : 4, }; } else { console.log(); props = { initialDashboardForecasts: [], initialDashboardId: urlQuery.dashboardId || null, initialDashboardItem: null, initialNumCols: !numCols ? null : numCols < 5 ? numCols : 4, }; } return { props: props, }; /* let dashboardforecasts = await getdashboardforecasts({ ids: ["metaculus-6526", "smarkets-20206424"], }); let props = { dashboardforecasts: dashboardforecasts, }; return { props: props, }; */ } /* Body */ export default function Home({ initialDashboardForecasts, initialDashboardItem, initialNumCols, }) { const router = useRouter(); const [dashboardForecasts, setDashboardForecasts] = useState( initialDashboardForecasts ); const [dashboardItem, setDashboardItem] = useState(initialDashboardItem); const [numCols, setNumCols] = useState(initialNumCols); console.log("initialNumCols", initialNumCols); //