bitburner-src/src/ui/React/SourceFileAccordion.tsx

34 lines
814 B
TypeScript
Raw Normal View History

/**
* React Component for displaying a single Source-File as an accordion.
*
* The header of the accordion contains the Source-Files's name and level,
* and the accordion's panel contains the Source-File's description.
*/
import * as React from "react";
2021-09-14 02:37:35 +02:00
import { BBAccordion } from "./BBAccordion";
import { SourceFile } from "../../SourceFile/SourceFile";
type IProps = {
2021-09-05 01:09:30 +02:00
level: number;
sf: SourceFile;
};
export function SourceFileAccordion(props: IProps): React.ReactElement {
2021-09-05 01:09:30 +02:00
const maxLevel = props.sf.n === 12 ? "∞" : "3";
2021-09-05 01:09:30 +02:00
return (
2021-09-13 18:44:46 +02:00
<BBAccordion
2021-09-05 01:09:30 +02:00
headerContent={
<>
{props.sf.name}
<br />
{`Level ${props.level} / ${maxLevel}`}
</>
}
panelContent={<p dangerouslySetInnerHTML={{ __html: props.sf.info }}></p>}
/>
);
}