mirror of
https://github.com/DeveloLongScript/MHSF.git
synced 2026-05-07 22:54:59 -05:00
feat: motd hook
This commit is contained in:
parent
a9d5ddf43d
commit
75fa71cdf1
28
apps/www/src/lib/hooks/use-motd.tsx
Normal file
28
apps/www/src/lib/hooks/use-motd.tsx
Normal file
@ -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,
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user