{level?.data?.introduction &&
{level?.data?.introduction}
}
{proof.map((step, i) => {
// It the last step has errors, it will have the same hints
// as the second-to-last step. Therefore we should not display them.
if (!(i == proof.length - 1 && hasInteractiveErrors(step.errors))) {
// TODO: Should not use index as key.
return
}
})}
{completed &&
<>
Level completed! 🎉
{level?.data?.conclusion?.trim() &&
{level?.data?.conclusion}
}
{levelId >= gameInfo.data?.worldSize[worldId] ?
:
}
>
}