mirror of
https://github.com/DeveloLongScript/MHSF.git
synced 2026-05-07 19:24:59 -05:00
feat: updated server list
This commit is contained in:
parent
b700391965
commit
cf7aaa023a
BIN
public/branding/meta-banner.png
Normal file
BIN
public/branding/meta-banner.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
@ -21,6 +21,17 @@ import ThemedToaster from "@/components/misc/ThemedToaster";
|
|||||||
import UnofficalDialog from "@/components/misc/UnofficalDialog";
|
import UnofficalDialog from "@/components/misc/UnofficalDialog";
|
||||||
import ClientFadeIn from "@/components/ClientFadeIn";
|
import ClientFadeIn from "@/components/ClientFadeIn";
|
||||||
import { BrandingGenericIcon } from "@/components/Icon";
|
import { BrandingGenericIcon } from "@/components/Icon";
|
||||||
|
import type { Metadata } from "next";
|
||||||
|
|
||||||
|
export const metadata = {
|
||||||
|
openGraph: {
|
||||||
|
images: [
|
||||||
|
{
|
||||||
|
url: "/branding/meta-banner.png",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
} satisfies Metadata;
|
||||||
|
|
||||||
const inter = interFont({ variable: "--font-inter", subsets: ["latin"] });
|
const inter = interFont({ variable: "--font-inter", subsets: ["latin"] });
|
||||||
export default async function RootLayout({
|
export default async function RootLayout({
|
||||||
|
|||||||
@ -131,7 +131,7 @@ export default function ServerList() {
|
|||||||
const { user, isSignedIn } = useUser();
|
const { user, isSignedIn } = useUser();
|
||||||
const [pOS, setpOS] = useState(false);
|
const [pOS, setpOS] = useState(false);
|
||||||
const [ipr, setIPR] = useState<string>("4");
|
const [ipr, setIPR] = useState<string>("4");
|
||||||
const [am, setAM] = useState<boolean>(false);
|
const [am, setAM] = useState(false);
|
||||||
const [filters, setFilters] = useState<
|
const [filters, setFilters] = useState<
|
||||||
Array<(server: OnlineServer) => Promise<boolean>>
|
Array<(server: OnlineServer) => Promise<boolean>>
|
||||||
>([]);
|
>([]);
|
||||||
@ -147,11 +147,12 @@ export default function ServerList() {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (isSignedIn) {
|
if (isSignedIn) {
|
||||||
|
setAM(true);
|
||||||
console.log(user.publicMetadata);
|
console.log(user.publicMetadata);
|
||||||
|
|
||||||
setIPR((user.publicMetadata.ipr as string | undefined) || "4");
|
setIPR((user.publicMetadata.ipr as string | undefined) || "4");
|
||||||
setPadding((user.publicMetadata.pad as string | undefined) || "0");
|
setPadding((user.publicMetadata.pad as string | undefined) || "0");
|
||||||
setpOS((user.publicMetadata.srv as boolean | undefined) || false);
|
setpOS((user.publicMetadata.srv as boolean | undefined) || false);
|
||||||
setAM(pOS != false || padding != "0" || ipr != "4");
|
|
||||||
}
|
}
|
||||||
}, [isSignedIn, user]);
|
}, [isSignedIn, user]);
|
||||||
|
|
||||||
@ -200,7 +201,7 @@ export default function ServerList() {
|
|||||||
|
|
||||||
if (loading) {
|
if (loading) {
|
||||||
return (
|
return (
|
||||||
<>
|
<div className="p-4">
|
||||||
<SignedIn>
|
<SignedIn>
|
||||||
<div className="md:grid md:grid-cols-3 gap-4 max-lg:grid-cols-2">
|
<div className="md:grid md:grid-cols-3 gap-4 max-lg:grid-cols-2">
|
||||||
<Skeleton className="h-[112px] rounded-xl" />
|
<Skeleton className="h-[112px] rounded-xl" />
|
||||||
@ -217,7 +218,7 @@ export default function ServerList() {
|
|||||||
<Skeleton className="h-[450px] rounded-xl" />
|
<Skeleton className="h-[450px] rounded-xl" />
|
||||||
</div>
|
</div>
|
||||||
</SignedIn>
|
</SignedIn>
|
||||||
</>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -397,10 +398,10 @@ export default function ServerList() {
|
|||||||
<BentoCard key={idx} {...feature} />
|
<BentoCard key={idx} {...feature} />
|
||||||
))}
|
))}
|
||||||
</BentoGrid>
|
</BentoGrid>
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
|
|
||||||
<Separator />
|
<Separator />
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
<br />
|
<br />
|
||||||
</>
|
</>
|
||||||
</div>
|
</div>
|
||||||
@ -867,7 +868,26 @@ export default function ServerList() {
|
|||||||
<MenubarSubContent>
|
<MenubarSubContent>
|
||||||
<MenubarRadioGroup
|
<MenubarRadioGroup
|
||||||
value={padding.toString()}
|
value={padding.toString()}
|
||||||
onValueChange={(v) => setPadding(v)}
|
onValueChange={(v) => {
|
||||||
|
if (am)
|
||||||
|
toast(
|
||||||
|
<span>
|
||||||
|
These settings will not change over reloads
|
||||||
|
because you have account specific options enabled
|
||||||
|
<Button
|
||||||
|
variant="link"
|
||||||
|
className="p-0 m-0"
|
||||||
|
onClick={() =>
|
||||||
|
router.push("/account/settings/options")
|
||||||
|
}
|
||||||
|
>
|
||||||
|
Change your preferences
|
||||||
|
</Button>
|
||||||
|
</span>,
|
||||||
|
{ icon: "⚠️" }
|
||||||
|
);
|
||||||
|
setPadding(v);
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<MenubarRadioItem value="0">Default</MenubarRadioItem>
|
<MenubarRadioItem value="0">Default</MenubarRadioItem>
|
||||||
<MenubarSeparator />
|
<MenubarSeparator />
|
||||||
@ -889,9 +909,9 @@ export default function ServerList() {
|
|||||||
<MenubarSubContent>
|
<MenubarSubContent>
|
||||||
<MenubarRadioGroup
|
<MenubarRadioGroup
|
||||||
value="joins"
|
value="joins"
|
||||||
onValueChange={(c) =>
|
onValueChange={(c) => {
|
||||||
c == "favorites" && router.push("/sort/favorites")
|
if (c === "favorites") router.push("/sort/favorites");
|
||||||
}
|
}}
|
||||||
>
|
>
|
||||||
<MenubarRadioItem value="joins">
|
<MenubarRadioItem value="joins">
|
||||||
Players Online
|
Players Online
|
||||||
@ -912,8 +932,16 @@ export default function ServerList() {
|
|||||||
View the docs
|
View the docs
|
||||||
</MenubarItem>
|
</MenubarItem>
|
||||||
{am && (
|
{am && (
|
||||||
<MenubarItem onClick={() => router.push("/account/settings")}>
|
<MenubarItem
|
||||||
Currently using settings in your preferences
|
onClick={() => router.push("/account/settings")}
|
||||||
|
className="block"
|
||||||
|
>
|
||||||
|
Using saved settings in Preferences
|
||||||
|
<br />
|
||||||
|
<span className="text-muted-foreground text-xs">
|
||||||
|
Your using settings stored on your account, that are not
|
||||||
|
temporary.
|
||||||
|
</span>
|
||||||
</MenubarItem>
|
</MenubarItem>
|
||||||
)}
|
)}
|
||||||
</MenubarContent>
|
</MenubarContent>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user