feat: remove margin

This commit is contained in:
dvelo 2025-05-16 21:00:36 -05:00
parent cdcb83e449
commit 21d66742c6
3 changed files with 35 additions and 17 deletions

@ -1,5 +1,5 @@
"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 { ServerPageTags } from "./server-page-tags";
import { Separator } from "@/components/ui/separator";
@ -13,9 +13,11 @@ import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
export function ServerMainPage({
server,
mhsfData,
onlineServer
}: {
server: ServerResponse;
mhsfData: ReturnType<typeof useMHSFServer>;
onlineServer?: OnlineServer;
}) {
useEffect(() => {
if (mhsfData.server?.customizationData.colorMode !== null) {
@ -52,21 +54,26 @@ export function ServerMainPage({
</div>
<p className="w-full">
<div className="lg:flex justify-between w-full">
<h1 className="text-2xl font-bold flex items-center gap-1 ml-2">
{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>
)}
<h1 className="text-2xl font-bold flex items-center gap-1">
{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>
<span>
<ServerPageButtons server={server} mhsfData={mhsfData} />

@ -14,7 +14,7 @@ import { ReportingProvider } from "./reporting/reporting-provider";
import { ServerEditorProvider } from "./server-editor/server-editor-provider";
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 mhsf = useMHSFServer(serverId);
@ -77,6 +77,7 @@ export function ServerProvider({ serverId }: { serverId: string }) {
<ServerMainPage
server={server as ServerResponse}
mhsfData={mhsf}
onlineServer={onlineServer ?? undefined}
/>
</ReportingProvider>
</ServerEditorProvider>

@ -6,6 +6,7 @@ export function useServer(serverSpecifier: { id?: string; name?: string }) {
const [loading, setLoading] = useState(true);
const [error, setError] = useState<string | null>(null);
const [server, setServer] = useState<ServerResponse | null>(null);
const [onlineServer, setOnlineServer] = useState<OnlineServer | null>(null);
useEffectOnce(() => {
try {
@ -16,6 +17,15 @@ export function useServer(serverSpecifier: { id?: string; name?: string }) {
const json = await res.json();
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);
setLoading(false);
})();
@ -26,5 +36,5 @@ export function useServer(serverSpecifier: { id?: string; name?: string }) {
}
});
return { loading, error, server };
return { loading, error, server, onlineServer };
}