mirror of
https://github.com/DeveloLongScript/MHSF.git
synced 2026-05-07 16:44: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