diff --git a/src/meta/play-meta.js b/src/meta/play-meta.js
index 3fb6ec4fd4..d15f03dab2 100644
--- a/src/meta/play-meta.js
+++ b/src/meta/play-meta.js
@@ -1,6 +1,6 @@
import {
- BasicTree, CountDownTimer,
+ BasicTree, CdTimerComp,
CurrentTimer,
MovieContainer,
WhyReact
@@ -22,7 +22,7 @@ const plays = [
},
{
name: 'Countdown Timer',
- component: () => {return },
+ component: () => {return },
path: '/plays/countdown',
includeInMenu: true,
},
diff --git a/src/plays/date-time-counter/CdTimerComp.js b/src/plays/date-time-counter/CdTimerComp.js
new file mode 100644
index 0000000000..aa0e3b6813
--- /dev/null
+++ b/src/plays/date-time-counter/CdTimerComp.js
@@ -0,0 +1,32 @@
+import { useState } from "react";
+import CountDownTimer from "./CountDownTimer";
+
+const CdTimerComp = () => {
+ const dateTimeAfterThreeDays = new Date().getTime() + 3 * 24 * 60 * 60 * 1000;
+ const [targetDate, setTargetDate] = useState(
+ new Date(dateTimeAfterThreeDays)
+ );
+
+ const handleChange = (event) => {
+ event.preventDefault();
+ setTargetDate(new Date(event.target.value));
+ };
+
+ return (
+
+
Countdown Timer
+
+
+
+ );
+};
+
+export default CdTimerComp;
diff --git a/src/plays/date-time-counter/CountDownTimer.js b/src/plays/date-time-counter/CountDownTimer.js
index b5027598df..4153d82787 100644
--- a/src/plays/date-time-counter/CountDownTimer.js
+++ b/src/plays/date-time-counter/CountDownTimer.js
@@ -2,44 +2,51 @@ import "./datetime.css";
import DateTimeDisplay from "./DateTimeDisplay";
import useCountDown from "./hooks/useCountDown";
-const CountDownTimer = ({ targetDate }) => {
-
- const [days, hours, minutes, seconds] = useCountDown(targetDate);
+const ExpiredNotice = () => {
+ return (
+
+
Expired!!!
+
Please select a future date and time.
+
+ );
+};
+const ShowCounter = ({ days, hours, minutes, seconds }) => {
return (
-
+
);
};
+const CountDownTimer = ({ targetDate }) => {
+ const [days, hours, minutes, seconds] = useCountDown(targetDate);
+
+ if (days < 0) {
+ return
;
+ } else {
+ return (
+
+ );
+ }
+};
+
export default CountDownTimer;
diff --git a/src/plays/date-time-counter/datetime.css b/src/plays/date-time-counter/datetime.css
index 4aafe77a4b..3e81e99433 100644
--- a/src/plays/date-time-counter/datetime.css
+++ b/src/plays/date-time-counter/datetime.css
@@ -1,5 +1,38 @@
+.countdown-container {
+ margin: 0.5rem
+}
+
+.countdown-container > form {
+ padding: 0.5rem;
+}
+
+.countdown-container > form > label {
+ margin-right: 0.09rem;
+}
+
+.expired-notice {
+ text-align: center;
+ padding: 2rem;
+ border: 1px solid #ebebeb;
+ border-radius: 0.25rem;
+ margin: 0.5rem;
+}
+
+.expired-notice > span {
+ font-size: 2.5rem;
+ font-weight: bold;
+ color: red;
+}
+
+.expired-notice > p {
+ font-size: 1.5rem;
+}
+
+.show-counter {
+ padding: 0.5rem;
+}
-.countdown-link {
+.show-counter .countdown-link {
display: flex;
flex-direction: row;
justify-content: center;
@@ -14,7 +47,7 @@
color: #000;
}
-.countdown {
+.show-counter .countdown {
line-height: 1.25rem;
padding: 0 0.75rem 0 0.75rem;
align-items: center;
@@ -22,15 +55,15 @@
flex-direction: column;
}
-.countdown.danger {
+.show-counter .countdown.danger {
color: #ff0000;
}
-.countdown > p {
+.show-counter .countdown > p {
margin: 0;
}
-.countdown > span {
+.show-counter .countdown > span {
text-transform: uppercase;
font-size: 0.75rem;
line-height: 1rem;
diff --git a/src/plays/index.js b/src/plays/index.js
index 1af057259a..ceb3d70104 100644
--- a/src/plays/index.js
+++ b/src/plays/index.js
@@ -1,7 +1,7 @@
export { default as PageNotFound } from '../common/404/PageNotFound';
export { default as Home } from '../common/home/Home';
export { default as CurrentTimer } from './clock/CurrentTimer';
-export { default as CountDownTimer } from './date-time-counter/CountDownTimer';
+export { default as CdTimerComp } from './date-time-counter/CdTimerComp';
export { default as BasicTree } from './family-tree/BasicTree';
export { default as MovieContainer } from './movies/MovieContainer';
export { default as WhyReact } from './why-react/WhyReact';