import { GetServerSideProps, NextPage } from "next"; import ReactMarkdown from "react-markdown"; import { QualityIndicatorsObj } from "../../../graphql/schema/questions"; import { Query } from "../../common/Query"; import { Card } from "../../display/Card"; import { QuestionFooter, qualityIndicatorLabels, formatIndicatorValue, UsedIndicatorName, getStarsElement, } from "../../display/DisplayQuestion/QuestionFooter"; import { Layout } from "../../display/Layout"; import { QuestionWithHistoryFragment } from "../../fragments.generated"; import { ssrUrql } from "../../urql"; import { HistoryChart } from "../components/HistoryChart"; import { QuestionOptions } from "../components/QuestionOptions"; import { QuestionPageDocument } from "../queries.generated"; interface Props { id: string; } export const getServerSideProps: GetServerSideProps = async ( context ) => { const [ssrCache, client] = ssrUrql(); const id = context.query.id as string; const question = (await client.query(QuestionPageDocument, { id }).toPromise()).data ?.result || null; if (!question) { context.res.statusCode = 404; } return { props: { urqlState: ssrCache.extractData(), id, }, }; }; const QuestionCardContents: React.FC<{ question: QuestionWithHistoryFragment; }> = ({ question }) => (

{question.title}

{/*
*/}

{"Question description"}

{question.description.replaceAll("---", "")}

{"Indicators"}

{!!question.qualityIndicators["numForecasts"] ? ( ) : ( "" )} {Object.keys(question.qualityIndicators) .filter( (indicator) => question.qualityIndicators[indicator] != null && !!qualityIndicatorLabels[indicator] ) .map((indicator: UsedIndicatorName) => { return ( ); })}
Indicator Value
{"Stars"} {getStarsElement(question.qualityIndicators["stars"])}
{"Platform"} {question.platform.label}
{"Number of forecasts"} {question.qualityIndicators["numForecasts"]}
{qualityIndicatorLabels[indicator]} {formatIndicatorValue( question.qualityIndicators[indicator], indicator, question.platform.id )}
); const QuestionPage: NextPage = ({ id }) => { return (
{({ data }) => }
); }; export default QuestionPage;