// Root React Component for the Corporation UI import React, { useState, useEffect } from "react"; import makeStyles from "@mui/styles/makeStyles"; import { numeralWrapper } from "../../ui/numeralFormat"; import { Reputation } from "./Reputation"; import Table from "@mui/material/Table"; import TableBody from "@mui/material/TableBody"; import TableCell from "@mui/material/TableCell"; import TableRow from "@mui/material/TableRow"; import Paper from "@mui/material/Paper"; import Box from "@mui/material/Box"; import Typography from "@mui/material/Typography"; import Button from "@mui/material/Button"; import IconButton from "@mui/material/IconButton"; import Collapse from "@mui/material/Collapse"; import Fab from "@mui/material/Fab"; import VisibilityOffIcon from "@mui/icons-material/VisibilityOff"; import SaveAltIcon from "@mui/icons-material/SaveAlt"; import { colors } from "./Theme"; import { Settings } from "../../Settings/Settings"; import { use } from "../Context"; import { Page } from "../Router"; import { Overview } from "./Overview"; interface IProps { save: () => void; } function Intelligence(): React.ReactElement { const player = use.Player(); const classes = useStyles(); if (player.intelligence === 0) return <>; return ( Int  {numeralWrapper.formatSkill(player.intelligence)} {/*Hook for player scripts*/} ); } function Work(): React.ReactElement { const player = use.Player(); const router = use.Router(); const classes = useStyles(); if (!player.isWorking || player.focus) return <>; return ( <> Work in progress: +{Reputation(player.workRepGained)} rep ); } const useStyles = makeStyles({ cellNone: { borderBottom: "none", padding: 0, margin: 0, }, cell: { padding: 0, margin: 0, }, hp: { color: colors.hp, }, money: { color: colors.money, }, hack: { color: colors.hack, }, combat: { color: colors.combat, }, cha: { color: colors.cha, }, int: { color: colors.int, }, }); export function CharacterOverview({ save }: IProps): React.ReactElement { const player = use.Player(); const router = use.Router(); if (router.page() === Page.BitVerse) return <>; const setRerender = useState(false)[1]; useEffect(() => { const id = setInterval(() => setRerender((old) => !old), 600); return () => clearInterval(id); }, []); const classes = useStyles(); return ( HP  {numeralWrapper.formatHp(player.hp)} / {numeralWrapper.formatHp(player.max_hp)} {/*Hook for player scripts*/} Money  {numeralWrapper.formatMoney(player.money.toNumber())} {/*Hook for player scripts*/} Hack  {numeralWrapper.formatSkill(player.hacking_skill)} {/*Hook for player scripts*/} Str  {numeralWrapper.formatSkill(player.strength)} {/*Hook for player scripts*/} Def  {numeralWrapper.formatSkill(player.defense)} {/*Hook for player scripts*/} Dex  {numeralWrapper.formatSkill(player.dexterity)} {/*Hook for player scripts*/} Agi  {numeralWrapper.formatSkill(player.agility)} {/*Hook for player scripts*/} Cha  {numeralWrapper.formatSkill(player.charisma)} {/*Hook for player scripts*/} {/*Hook for player scripts*/} {/*Hook for player scripts*/} {/*Hook for player scripts*/}
); }