Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 1x 1x 1x 588x 1x 1x 587x 588x 588x 588x 588x 588x 588x 588x 588x 588x 588x | import { Fragment } from "react"; // based in part on this SO answer: https://codereview.stackexchange.com/a/211511 export default function Plaintext({ text }) { if (text == null) { return <pre data-testid="plaintext-empty"></pre>; } const textToRender = typeof text === "string" ? text : JSON.stringify(text, null, 2); const [firstLine, ...rest] = textToRender.split("\n"); return ( <pre data-testid="plaintext"> <span>{firstLine}</span> {rest.map((line, i) => ( <Fragment key={i}> <br /> <span>{line}</span> </Fragment> ))} </pre> ); } |