diff --git a/src/app/(pages)/page.tsx b/src/app/(pages)/page.tsx index 3d83a54..7d7128f 100644 --- a/src/app/(pages)/page.tsx +++ b/src/app/(pages)/page.tsx @@ -53,7 +53,7 @@ export default function Home(): ReactElement {
-

Minecraft Utilities

+

Minecraft Utilities

Minecraft Utilities offers you many endpoints to get information about a minecraft server or a player. diff --git a/src/app/components/card.tsx b/src/app/components/card.tsx index bf88edf..d0f7b0a 100644 --- a/src/app/components/card.tsx +++ b/src/app/components/card.tsx @@ -1,6 +1,7 @@ import { Card as ShadcnCard, CardContent } from "@/app/components/ui/card"; import { cn } from "@/common/utils"; import { ReactElement } from "react"; +import { type ClassValue } from "clsx"; type CardProps = { /** @@ -9,15 +10,20 @@ type CardProps = { children: React.ReactNode; /** - * The class names to append. + * The class names for the card. */ - className?: string; + classNameCard?: ClassValue; + + /** + * The class names for the content. + */ + classNameContent?: ClassValue; }; -export function Card({ children, className }: CardProps): ReactElement { +export function Card({ children, classNameCard, classNameContent }: CardProps): ReactElement { return ( - - {children} + + {children} ); } diff --git a/src/app/components/navbar.tsx b/src/app/components/navbar.tsx index a9b7c2a..9bc8744 100644 --- a/src/app/components/navbar.tsx +++ b/src/app/components/navbar.tsx @@ -42,12 +42,12 @@ export default function NavBar(): ReactElement {

-

Minecraft Utilities

+

Minecraft Utilities

{/* Links */} -
+
{pages.map((page, index) => { const isActive = path.includes(page.url); diff --git a/src/app/components/server/server-view.tsx b/src/app/components/server/server-view.tsx index 1712ad4..b52cd4e 100644 --- a/src/app/components/server/server-view.tsx +++ b/src/app/components/server/server-view.tsx @@ -5,6 +5,9 @@ import { ReactElement } from "react"; import { Card } from "../card"; import { CodeDialog } from "../code-dialog"; import { Button } from "../ui/button"; +import config from "@root/config.json"; +import { cn } from "@/common/utils"; +import { minecraft } from "@/app/font/fonts"; type ServerViewProps = { /** @@ -20,37 +23,36 @@ type ServerViewProps = { export function ServerView({ server, favicon }: ServerViewProps): ReactElement { return ( -
- -
-
- {favicon && ( -
- The server's favicon -
- )} +
+ +
+ {/* Favicon */} + {`${server.hostname}'s -
-

{server.hostname}

-
-

- Players online: {formatNumber(server.players.online)}/{formatNumber(server.players.max)} -

-
-
+ {/* Name & MOTD */} +
+

{server.hostname}

+ {server.motd.html.map((line: string, index: number): ReactElement => { + return

; + })}
-
- {server.motd.html.map((line, index) => { - return

; - })} + {/* Ping */} +
+

+ {server.players.online}/{server.players.max} +

+ Ping!
diff --git a/src/app/font/Minecraft.otf b/src/app/font/Minecraft.otf new file mode 100644 index 0000000..6904fc1 Binary files /dev/null and b/src/app/font/Minecraft.otf differ diff --git a/src/app/font/fonts.ts b/src/app/font/fonts.ts new file mode 100644 index 0000000..a67e6bc --- /dev/null +++ b/src/app/font/fonts.ts @@ -0,0 +1,16 @@ +import { Inter } from "next/font/google"; + +import localFont from "next/font/local"; +import { NextFont } from "next/dist/compiled/@next/font"; + +/** + * The default font to use for the site. + */ +export const inter = Inter({ subsets: ["latin"] }); + +/** + * The Minecraft font to use for the site. + */ +export const minecraft: NextFont = localFont({ + src: "../font/Minecraft.otf", +}); diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 16f09cb..eed7b66 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,4 +1,3 @@ -import { Fonts } from "@/common/fonts"; import { Metadata, Viewport } from "next"; import Script from "next/script"; import { ReactElement } from "react"; @@ -9,6 +8,7 @@ import { TooltipProvider } from "./components/ui/tooltip"; import "./globals.css"; import config from "@root/config.json"; +import { inter } from "@/app/font/fonts"; export const viewport: Viewport = { themeColor: "#3498DB", @@ -47,7 +47,7 @@ export default function RootLayout({ return ( <>