werefox-cafe/src/info/pages/hrt/index.js

60 lines
1.8 KiB
JavaScript
Raw Normal View History

import BasicPage from "../../components/basic-page";
import WCard from "../../components/werefox-card";
import { useEffect, useState } from "react";
2021-04-26 11:16:16 -05:00
function getTimes() {
2021-04-26 13:02:02 -05:00
const total_ms =
Date.now() - new Date("December 11, 2020 00:00:00 GMT-05:00");
const days = Math.floor(total_ms / 1000 / 60 / 60 / 24);
const days_in_ms = days * 1000 * 60 * 60 * 24;
const hours = Math.floor((total_ms - days_in_ms) / 1000 / 60 / 60);
const hours_in_ms = hours * 1000 * 60 * 60;
const minutes = Math.floor((total_ms - days_in_ms - hours_in_ms) / 1000 / 60);
const minutes_in_ms = minutes * 1000 * 60;
const seconds = Math.floor(
(total_ms - days_in_ms - hours_in_ms - minutes_in_ms) / 1000
);
return {
2021-04-26 11:16:16 -05:00
days: `${days} days,`,
hours: `${hours} hours,`,
minutes: `${minutes} minutes,`,
2021-05-16 18:40:28 -05:00
seconds: `and ${seconds} seconds.`,
};
}
export const getServerSideProps = async () => {
return {
props: {
startTimes: getTimes(),
},
};
};
export default function HRT({ startTimes }) {
const [timesArray, setTimesArray] = useState(startTimes);
useEffect(() => {
const interval = setInterval(() => {
2021-04-26 11:16:16 -05:00
setTimesArray(getTimes(), 1000);
});
return () => clearInterval(interval);
}, [getTimes, setTimesArray]);
return (
<BasicPage
page_title="Alexis Werefox HRT Tracker"
card_title="Track my HRT progress!"
page_button_title="Take me back home!"
>
<WCard title={`I'm so glad you're interested!!`}>
2021-10-26 23:47:29 -05:00
<div className="p-2 sm:text-xl text-lg text-center text-skye-werefox-blue-dark dark:text-skye-werefox-blue grid grid-cols-1 grid-rows-4 gap-2">
<p>I've been on HRT for:</p>
{Object.keys(timesArray).map((t) => (
<p key={t}>{timesArray[t]}</p>
))}
</div>
</WCard>
</BasicPage>
);
}