From 75fa71cdf1c15f76319d070c1fc41721d00dd535 Mon Sep 17 00:00:00 2001 From: dvelo <52332868+DeveloLongScript@users.noreply.github.com> Date: Wed, 19 Feb 2025 16:40:53 -0600 Subject: [PATCH] feat: motd hook --- apps/www/src/lib/hooks/use-motd.tsx | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 apps/www/src/lib/hooks/use-motd.tsx diff --git a/apps/www/src/lib/hooks/use-motd.tsx b/apps/www/src/lib/hooks/use-motd.tsx new file mode 100644 index 0000000..60cc66c --- /dev/null +++ b/apps/www/src/lib/hooks/use-motd.tsx @@ -0,0 +1,28 @@ +import { useEffect, useState } from "react"; +import type { OnlineServer } from "../types/mh-server"; +import MiniMessage from "minimessage-js"; + +export function useMOTD(servers: OnlineServer[]) { + const [motdList, setMotdList] = useState<{ name: string; motd: string }[]>( + [] + ); + + useEffect(() => { + setMotdList( + servers.map((server) => { + return { + name: server.name, + motd: MiniMessage.miniMessage().toHTML( + MiniMessage.miniMessage().deserialize(server.motd) + ), + }; + }) + ); + }, [servers]); + + return { + motdList, + getMotdForServer: (server: OnlineServer) => + motdList.find((c) => c.name === server.name)?.motd, + }; +}