diff --git a/components/modules/date/DateModule.story.tsx b/components/modules/date/DateModule.story.tsx
new file mode 100644
index 000000000..5582bb394
--- /dev/null
+++ b/components/modules/date/DateModule.story.tsx
@@ -0,0 +1,7 @@
+import DateComponent from "./DateModule";
+
+export default {
+ title: 'Date module',
+};
+
+export const Default = (args: any) => ;
diff --git a/components/modules/date/DateModule.tsx b/components/modules/date/DateModule.tsx
new file mode 100644
index 000000000..98953c371
--- /dev/null
+++ b/components/modules/date/DateModule.tsx
@@ -0,0 +1,41 @@
+import { Box, Card, Group, Text, Title } from '@mantine/core';
+import dayjs from 'dayjs';
+import { useEffect, useState } from 'react';
+import { Clock } from 'tabler-icons-react';
+import { IModule } from '../modules';
+
+export const DateModule: IModule = {
+ title: 'Date',
+ description: 'Show the current time and date in a card',
+ icon: Clock,
+ component: DateComponent,
+};
+
+export default function DateComponent(props: any) {
+ const [date, setDate] = useState(new Date());
+ const hours = date.getHours();
+ const minutes = date.getMinutes();
+
+ // Change date on minute change
+ // Note: Using 10 000ms instead of 1000ms to chill a little :)
+ useEffect(() => {
+ setInterval(() => {
+ setDate(new Date());
+ }, 10000);
+ }, []);
+
+ return (
+
+
+ {hours < 10 ? `0${hours}` : hours}:{minutes < 10 ? `0${minutes}` : minutes}
+
+
+ {
+ // Use dayjs to format the date
+ // https://day.js.org/en/getting-started/installation/
+ dayjs(date).format('dddd, MMMM D YYYY')
+ }
+
+
+ );
+}