mirror of
https://github.com/DeveloLongScript/MHSF.git
synced 2026-05-07 20:25:04 -05:00
feat: remove margin
This commit is contained in:
parent
cdcb83e449
commit
21d66742c6
@ -1,5 +1,5 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import type { ServerResponse } from "@/lib/types/mh-server";
|
import type { OnlineServer, ServerResponse } from "@/lib/types/mh-server";
|
||||||
import IconDisplay from "../icons/minecraft-icon-display";
|
import IconDisplay from "../icons/minecraft-icon-display";
|
||||||
import { ServerPageTags } from "./server-page-tags";
|
import { ServerPageTags } from "./server-page-tags";
|
||||||
import { Separator } from "@/components/ui/separator";
|
import { Separator } from "@/components/ui/separator";
|
||||||
@ -13,9 +13,11 @@ import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
|
|||||||
export function ServerMainPage({
|
export function ServerMainPage({
|
||||||
server,
|
server,
|
||||||
mhsfData,
|
mhsfData,
|
||||||
|
onlineServer
|
||||||
}: {
|
}: {
|
||||||
server: ServerResponse;
|
server: ServerResponse;
|
||||||
mhsfData: ReturnType<typeof useMHSFServer>;
|
mhsfData: ReturnType<typeof useMHSFServer>;
|
||||||
|
onlineServer?: OnlineServer;
|
||||||
}) {
|
}) {
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (mhsfData.server?.customizationData.colorMode !== null) {
|
if (mhsfData.server?.customizationData.colorMode !== null) {
|
||||||
@ -52,21 +54,26 @@ export function ServerMainPage({
|
|||||||
</div>
|
</div>
|
||||||
<p className="w-full">
|
<p className="w-full">
|
||||||
<div className="lg:flex justify-between w-full">
|
<div className="lg:flex justify-between w-full">
|
||||||
<h1 className="text-2xl font-bold flex items-center gap-1 ml-2">
|
<h1 className="text-2xl font-bold flex items-center gap-1">
|
||||||
{mhsfData.server?.customizationData.userProfilePicture && (
|
|
||||||
<Avatar className="h-[32px] w-[32px]">
|
|
||||||
<AvatarImage
|
|
||||||
src={
|
|
||||||
mhsfData.server?.customizationData.userProfilePicture ??
|
|
||||||
""
|
|
||||||
}
|
|
||||||
alt="Server Owner Image"
|
|
||||||
/>
|
|
||||||
<AvatarFallback>{server.name[0]}</AvatarFallback>
|
|
||||||
</Avatar>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{server.name}
|
{server.name}
|
||||||
|
{onlineServer !== undefined && onlineServer?.author && (
|
||||||
|
<span className="text-muted-foreground flex items-center gap-2">
|
||||||
|
by{" "}
|
||||||
|
{mhsfData.server?.customizationData.userProfilePicture && (
|
||||||
|
<Avatar className="h-[16px] w-[16px]">
|
||||||
|
<AvatarImage
|
||||||
|
src={
|
||||||
|
mhsfData.server?.customizationData
|
||||||
|
.userProfilePicture ?? ""
|
||||||
|
}
|
||||||
|
alt="Server Owner Image"
|
||||||
|
/>
|
||||||
|
<AvatarFallback>{onlineServer?.author[0]}</AvatarFallback>
|
||||||
|
</Avatar>
|
||||||
|
)}
|
||||||
|
{onlineServer?.author}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
</h1>
|
</h1>
|
||||||
<span>
|
<span>
|
||||||
<ServerPageButtons server={server} mhsfData={mhsfData} />
|
<ServerPageButtons server={server} mhsfData={mhsfData} />
|
||||||
|
|||||||
@ -14,7 +14,7 @@ import { ReportingProvider } from "./reporting/reporting-provider";
|
|||||||
import { ServerEditorProvider } from "./server-editor/server-editor-provider";
|
import { ServerEditorProvider } from "./server-editor/server-editor-provider";
|
||||||
|
|
||||||
export function ServerProvider({ serverId }: { serverId: string }) {
|
export function ServerProvider({ serverId }: { serverId: string }) {
|
||||||
const { server, error, loading } = useServer({ id: serverId });
|
const { server, error, loading, onlineServer } = useServer({ id: serverId });
|
||||||
const settings = useSettingsStore();
|
const settings = useSettingsStore();
|
||||||
const mhsf = useMHSFServer(serverId);
|
const mhsf = useMHSFServer(serverId);
|
||||||
|
|
||||||
@ -77,6 +77,7 @@ export function ServerProvider({ serverId }: { serverId: string }) {
|
|||||||
<ServerMainPage
|
<ServerMainPage
|
||||||
server={server as ServerResponse}
|
server={server as ServerResponse}
|
||||||
mhsfData={mhsf}
|
mhsfData={mhsf}
|
||||||
|
onlineServer={onlineServer ?? undefined}
|
||||||
/>
|
/>
|
||||||
</ReportingProvider>
|
</ReportingProvider>
|
||||||
</ServerEditorProvider>
|
</ServerEditorProvider>
|
||||||
|
|||||||
@ -6,6 +6,7 @@ export function useServer(serverSpecifier: { id?: string; name?: string }) {
|
|||||||
const [loading, setLoading] = useState(true);
|
const [loading, setLoading] = useState(true);
|
||||||
const [error, setError] = useState<string | null>(null);
|
const [error, setError] = useState<string | null>(null);
|
||||||
const [server, setServer] = useState<ServerResponse | null>(null);
|
const [server, setServer] = useState<ServerResponse | null>(null);
|
||||||
|
const [onlineServer, setOnlineServer] = useState<OnlineServer | null>(null);
|
||||||
|
|
||||||
useEffectOnce(() => {
|
useEffectOnce(() => {
|
||||||
try {
|
try {
|
||||||
@ -16,6 +17,15 @@ export function useServer(serverSpecifier: { id?: string; name?: string }) {
|
|||||||
const json = await res.json();
|
const json = await res.json();
|
||||||
if (json.server === null) throw new Error("Server not found");
|
if (json.server === null) throw new Error("Server not found");
|
||||||
|
|
||||||
|
if (server?.online) {
|
||||||
|
const res = await fetch("https://api.minehut.com/servers");
|
||||||
|
const json = await res.json() as {servers: OnlineServer[]};
|
||||||
|
const onlineServerData = json.servers.find((s) => s.staticInfo._id === server._id) ?? null;
|
||||||
|
if (onlineServerData) {
|
||||||
|
setOnlineServer(onlineServerData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
setServer(json.server);
|
setServer(json.server);
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
})();
|
})();
|
||||||
@ -26,5 +36,5 @@ export function useServer(serverSpecifier: { id?: string; name?: string }) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return { loading, error, server };
|
return { loading, error, server, onlineServer };
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user