This repository has been archived on 2022-05-20. You can view files and clone it, but cannot push or open issues or pull requests.
Alley-HSBC-Frontend/src/components/navbar/Clock.tsx
2022-02-28 21:37:40 -08:00

50 lines
1.3 KiB
TypeScript

import { Typography } from "@mui/material";
import Box, { BoxProps } from "@mui/material/Box";
import { styled } from "@mui/material/styles";
import React, { useState, useEffect } from "react";
import CalendarTodayIcon from "@mui/icons-material/CalendarToday";
import AccessTimeIcon from "@mui/icons-material/AccessTime";
const FormattedBox = styled(Box)<BoxProps>(() => ({
marginRight: 12,
}));
const Clock: React.FC = () => {
const [date, setDate] = useState<Date>(new Date());
useEffect(() => {
setInterval(() => setDate(new Date()), 30000);
}, []);
return (
<Box sx={{ display: "flex" }}>
<FormattedBox sx={{ mt: 0.5 }}>
<CalendarTodayIcon />
</FormattedBox>
<FormattedBox>
<Typography variant="h6" color="inherit">
{date.toLocaleDateString("en-GB", {
day: "numeric",
month: "short",
year: "numeric",
})}
</Typography>
</FormattedBox>
<FormattedBox sx={{ mt: 0.5 }}>
<AccessTimeIcon />
</FormattedBox>
<FormattedBox>
<Typography variant="h6" color="inherit">
{date.toLocaleString("en-US", {
hour: "numeric",
minute: "numeric",
hour12: true,
})}
</Typography>
</FormattedBox>
</Box>
);
};
export default Clock;