import { Colors } from "@blueprintjs/core"; import { RendererProps } from "../../types"; import { RS } from "../common"; import { CharacterRow } from "./character-row"; import { TopBar } from "./topbar"; /** Common border color for dark and light, using transparency */ export const BorderColor = Colors.GRAY3 + "55"; const styles = { placeholderDiv: { height: "100%", width: "100%", display: "flex", justifyContent: "center", alignItems: "center", fontSize: "1.2em", }, rootContainer: { height: "100%", display: "flex", flexDirection: "column" as "column", }, topBarContainer: { borderBottom: "1px solid " + BorderColor, padding: 10, }, mainContainer: { flex: 1, minHeight: 0, overflowY: "auto" as "auto", }, }; export const Renderer = ({ state }: RendererProps<RS>) => { if (state == null) return ( <div style={styles.placeholderDiv}>Run some code to see the stage!</div> ); return ( <div style={styles.rootContainer}> <div style={styles.topBarContainer}> <TopBar charactersOnStage={state.charactersOnStage} currSpeaker={state.currentSpeaker} questionState={state.questionState} /> </div> <div style={styles.mainContainer}> {Object.keys(state.characterBag).map((name) => ( <CharacterRow key={name} name={name} value={state.characterBag[name]} /> ))} </div> </div> ); return null; };