countdown works
2 files changed, +23 -3
+7-3src/components/Card.tsx
| @@ -1,7 +1,7 @@ | ||
| 1 | 1 | import React, { useState } from "react"; |
| 2 | 2 | import TimeBlock from "./TimeBlock"; |
| 3 | 3 | import { schedule } from "../assets/schedule.json"; |
| 4 | -import Moment from "react-moment"; | |
| 4 | +import convertMiliseconds from "./convertInterval"; | |
| 5 | 5 | const { games } = schedule; |
| 6 | 6 | |
| 7 | 7 | type Props = { |
| @@ -22,11 +22,15 @@ const Card = (props: Props) => { | ||
| 22 | 22 | const game = nextGame(); |
| 23 | 23 | const date = new Date(game.date); |
| 24 | 24 | const time = game.time; |
| 25 | - console.log(date); | |
| 26 | 25 | |
| 27 | 26 | setInterval(() => { |
| 28 | 27 | const now = new Date(); |
| 29 | - const diff = date.getTime() - now.getTime(); | |
| 28 | + const ms = date.getTime() - now.getTime(); | |
| 29 | + const diff = convertMiliseconds(ms); | |
| 30 | + setDays(diff.d); | |
| 31 | + setHours(diff.h); | |
| 32 | + setMinutes(diff.m); | |
| 33 | + setSeconds(diff.s); | |
| 30 | 34 | }, 1000); |
| 31 | 35 | |
| 32 | 36 | return ( |
+16-0src/components/convertInterval.ts
| @@ -0,0 +1,16 @@ | ||
| 1 | +function convertMiliseconds(miliseconds: number) { | |
| 2 | + var days, hours, minutes, seconds, total_hours, total_minutes, total_seconds; | |
| 3 | + | |
| 4 | + total_seconds = Math.floor(miliseconds / 1000); | |
| 5 | + total_minutes = Math.floor(total_seconds / 60); | |
| 6 | + total_hours = Math.floor(total_minutes / 60); | |
| 7 | + days = Math.floor(total_hours / 24); | |
| 8 | + | |
| 9 | + seconds = total_seconds % 60; | |
| 10 | + minutes = total_minutes % 60; | |
| 11 | + hours = total_hours % 24; | |
| 12 | + | |
| 13 | + return { d: days, h: hours, m: minutes, s: seconds }; | |
| 14 | +} | |
| 15 | + | |
| 16 | +export default convertMiliseconds; |