diff --git a/src/Terminal/Terminal.ts b/src/Terminal/Terminal.ts index 4069857da..8057c42b1 100644 --- a/src/Terminal/Terminal.ts +++ b/src/Terminal/Terminal.ts @@ -102,7 +102,6 @@ export class Terminal { if (this.action === null) return; this.action.timeLeft -= (CONSTANTS.MilliPerCycle * cycles) / 1000; if (this.action.timeLeft < 0.01) this.finishAction(false); - TerminalEvents.emit(); } append(item: Output | Link | RawOutput): void { diff --git a/src/Terminal/ui/TerminalActionTimer.tsx b/src/Terminal/ui/TerminalActionTimer.tsx new file mode 100644 index 000000000..50d82e1f9 --- /dev/null +++ b/src/Terminal/ui/TerminalActionTimer.tsx @@ -0,0 +1,11 @@ +import React from "react"; +import Typography from "@mui/material/Typography"; + +import { useRerender } from "../../ui/React/hooks"; +import { Terminal } from "../../Terminal"; + +export function TerminalActionTimer(): React.ReactElement { + useRerender(200); + + return {Terminal.action && Terminal.getProgressText()}; +} diff --git a/src/Terminal/ui/TerminalRoot.tsx b/src/Terminal/ui/TerminalRoot.tsx index 97a586355..78e205bc6 100644 --- a/src/Terminal/ui/TerminalRoot.tsx +++ b/src/Terminal/ui/TerminalRoot.tsx @@ -7,6 +7,8 @@ import { Theme } from "@mui/material/styles"; import makeStyles from "@mui/styles/makeStyles"; import createStyles from "@mui/styles/createStyles"; import Box from "@mui/material/Box"; +import _ from "lodash"; + import { Output, Link, RawOutput } from "../OutputTypes"; import { Terminal } from "../../Terminal"; import { TerminalInput } from "./TerminalInput"; @@ -14,17 +16,9 @@ import { TerminalEvents, TerminalClearEvents } from "../TerminalEvents"; import { BitFlumeModal } from "../../BitNode/ui/BitFlumeModal"; import { CodingContractModal } from "../../ui/React/CodingContractModal"; -import _ from "lodash"; import { ANSIITypography } from "../../ui/React/ANSIITypography"; import { useRerender } from "../../ui/React/hooks"; - -function ActionTimer(): React.ReactElement { - return ( - - {Terminal.getProgressText()} - - ); -} +import { TerminalActionTimer } from "./TerminalActionTimer"; const useStyles = makeStyles((theme: Theme) => createStyles({ @@ -116,7 +110,7 @@ export function TerminalRoot(): React.ReactElement { {Terminal.action !== null && ( - {" "} + {" "} )}