aboutsummaryrefslogtreecommitdiffstats
path: root/packages/instant/src/components/time_counter.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/instant/src/components/time_counter.tsx')
-rw-r--r--packages/instant/src/components/time_counter.tsx78
1 files changed, 0 insertions, 78 deletions
diff --git a/packages/instant/src/components/time_counter.tsx b/packages/instant/src/components/time_counter.tsx
deleted file mode 100644
index 93dc497d5..000000000
--- a/packages/instant/src/components/time_counter.tsx
+++ /dev/null
@@ -1,78 +0,0 @@
-import * as React from 'react';
-
-import { ONE_SECOND_MS } from '../constants';
-import { ColorOption } from '../style/theme';
-import { timeUtil } from '../util/time';
-
-import { Container } from './ui/container';
-import { Flex } from './ui/flex';
-import { Text } from './ui/text';
-
-export interface TimeCounterProps {
- estimatedTimeMs: number;
- hasEnded: boolean;
-}
-interface TimeCounterState {
- elapsedSeconds: number;
-}
-
-export class TimeCounter extends React.PureComponent<TimeCounterProps, TimeCounterState> {
- public state = {
- elapsedSeconds: 0,
- };
- private _timerId?: number;
-
- public componentDidMount(): void {
- this._setupTimerBasedOnProps();
- }
-
- public componentWillUnmount(): void {
- this._clearTimer();
- }
-
- public componentDidUpdate(prevProps: TimeCounterProps): void {
- if (prevProps.hasEnded !== this.props.hasEnded) {
- this._setupTimerBasedOnProps();
- }
- }
-
- public render(): React.ReactNode {
- const estimatedTimeSeconds = this.props.estimatedTimeMs / ONE_SECOND_MS;
- return (
- <Flex justify="space-between">
- <Container>
- <Container marginRight="5px" display="inline">
- <Text fontWeight={600} fontColor={ColorOption.grey}>
- Est. Time
- </Text>
- </Container>
- <Text fontColor={ColorOption.grey}>
- ({timeUtil.secondsToHumanDescription(estimatedTimeSeconds)})
- </Text>
- </Container>
- <Text fontColor={ColorOption.grey}>
- Time: {timeUtil.secondsToStopwatchTime(this.state.elapsedSeconds)}
- </Text>
- </Flex>
- );
- }
-
- private _setupTimerBasedOnProps(): void {
- this.props.hasEnded ? this._clearTimer() : this._newTimer();
- }
-
- private _newTimer(): void {
- this._clearTimer();
- this._timerId = window.setInterval(() => {
- this.setState({
- elapsedSeconds: this.state.elapsedSeconds + 1,
- });
- }, ONE_SECOND_MS);
- }
-
- private _clearTimer(): void {
- if (this._timerId) {
- window.clearInterval(this._timerId);
- }
- }
-}