Timer.jsx 496 B

123456789101112131415161718192021
  1. import React from "react";
  2. import styled from "styled-components";
  3. import ms from "pretty-ms";
  4. import useCountdown from "../../hooks/useCountdown";
  5. const TimerSpan = styled.span`
  6. padding: 1px;
  7. display: inline;
  8. `
  9. const TimedOut = styled(TimerSpan)`
  10. color: red;
  11. `
  12. export default ({ seconds, onTimeout }) => {
  13. const [remaining] = useCountdown(seconds, onTimeout);
  14. return remaining > 0
  15. ? <TimerSpan>Time: {ms(remaining * 1000)}</TimerSpan>
  16. : <TimedOut>Time's up!</TimedOut>
  17. }