diff --git a/src/app/(site)/login/page.tsx b/src/app/(site)/login/page.tsx index 672b8e57..0d370664 100644 --- a/src/app/(site)/login/page.tsx +++ b/src/app/(site)/login/page.tsx @@ -12,6 +12,7 @@ import { siteSettings } from "@/lib/services/site-settings"; import { ThemeSwitcher } from "@/components/theme-switcher"; import { LanguageSwitcher } from "@/components/language-switcher"; import { Reveal } from "@/components/motion-reveal"; +import { Clock } from "@/components/clock"; export default async function LoginPage() { const t = await getTranslations("pages.login"); @@ -79,6 +80,8 @@ export default async function LoginPage() { )}
+ +
diff --git a/src/app/(site)/page.tsx b/src/app/(site)/page.tsx index 40b61678..4973bb7f 100644 --- a/src/app/(site)/page.tsx +++ b/src/app/(site)/page.tsx @@ -15,6 +15,7 @@ import { ThemeSwitcher } from "@/components/theme-switcher"; import { LanguageSwitcher } from "@/components/language-switcher"; import { HomeLoginForm } from "@/components/auth/home-login-form"; import { Reveal } from "@/components/motion-reveal"; +import { Clock } from "@/components/clock"; export const revalidate = 120; @@ -105,6 +106,8 @@ export default async function Home() { )}
+ +
diff --git a/src/app/(site)/register/page.tsx b/src/app/(site)/register/page.tsx index 3f27165b..ad891fb0 100644 --- a/src/app/(site)/register/page.tsx +++ b/src/app/(site)/register/page.tsx @@ -12,6 +12,7 @@ import { siteSettings } from "@/lib/services/site-settings"; import { ThemeSwitcher } from "@/components/theme-switcher"; import { LanguageSwitcher } from "@/components/language-switcher"; import { Reveal } from "@/components/motion-reveal"; +import { Clock } from "@/components/clock"; export default async function RegisterPage() { const th = await getTranslations("header"); @@ -79,6 +80,8 @@ export default async function RegisterPage() { )}
+ +
diff --git a/src/components/clock.tsx b/src/components/clock.tsx new file mode 100644 index 00000000..c98234bd --- /dev/null +++ b/src/components/clock.tsx @@ -0,0 +1,30 @@ +"use client"; + +import { useEffect, useState } from "react"; + +export function Clock() { + const [time, setTime] = useState(""); + + useEffect(() => { + function update() { + const now = new Date(); + setTime( + now.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }), + ); + } + update(); + const id = setInterval(update, 30_000); + return () => clearInterval(id); + }, []); + + if (!time) return null; + + return ( + + {time} + + ); +}