Renamed files

This commit is contained in:
2025-09-26 14:15:51 +02:00
parent 38f196bd9a
commit 765fb5de4d
42 changed files with 38 additions and 38 deletions

View File

@@ -0,0 +1,21 @@
"use client"
import { DEVUUIDS } from "@/data/general"
import { Tooltip } from "react-tooltip"
import DeveloperBadge from "../../../../../components/svgs/developer-badge"
export function DevBadge({ uuid, size }: { uuid: string, size?: number }) {
if (!DEVUUIDS.includes(uuid)) return null
return (
<>
<DeveloperBadge
data-id="dev-badge"
data-tooltip-id="dev-badge"
data-tooltip-content="Developer"
size={size}
/>
<Tooltip id="dev-badge" />
</>
)
}

View File

@@ -0,0 +1,197 @@
import { getColor } from "@/lib/colors"
import { head } from "@/lib/hypixel/general"
import { Player } from "@/lib/schema/player"
import Image from "next/image"
import Link from "next/link"
import { DevBadge } from "./badge"
import { OnlineStatus } from "./online-status"
type NewPackageRank = Player["player"]["newPackageRank"]
type MonthlyPackageRank = Player["player"]["monthlyPackageRank"]
type RankColor = Player["player"]["monthlyRankColor"]
export default function DisplayName(
{ ign, uuid, rank, monthly, rankColor, plusColor, guildTag, tagColor, specialRank, lastLogin, lastLogout, prefix }: {
ign: string
uuid: string
rank: NewPackageRank
monthly: MonthlyPackageRank
rankColor: RankColor
plusColor: string | undefined
guildTag: string | undefined
tagColor: string | undefined
specialRank: string | undefined
lastLogin: number | undefined
lastLogout: number | undefined
prefix: string | undefined
}
) {
return (
<div className="flex gap-2 items-center">
<DevBadge uuid={uuid} size={40} />
<Link href={`https://namemc.com/profile/${uuid}`}>
<Image
src={head(uuid, 40)}
width={40}
height={40}
alt={ign}
unoptimized
className="shadow-2xl"
/>
</Link>
<h1 className="font-bold sm:text-xl md:text-3xl text-md text-stroke text-stroke-foreground dark:text-stroke-transparent">
<PlayerRank rank={rank} monthly={monthly} plusColor={plusColor} rankColor={rankColor} specialRank={specialRank} prefix={prefix} />
{" "}
<PlayerIGN ign={ign} rank={rank} monthly={monthly} rankColor={rankColor} specialRank={specialRank} prefix={prefix} />{" "}
<GuildTag tag={guildTag} tagColor={tagColor} ign={ign} />
</h1>
<OnlineStatus lastLogin={lastLogin} lastLogout={lastLogout} />
</div>
)
}
function PlayerIGN(
{ ign, rank, monthly, rankColor, specialRank, prefix }: {
ign: string
rank: NewPackageRank
monthly: MonthlyPackageRank
rankColor: RankColor
specialRank: string | undefined
prefix: string | undefined
}
) {
if (prefix === "[PIG+++]") {
return <span className="text-mc-light-purple">{ign}</span>
}
if (specialRank) {
if (specialRank === "YOUTUBER") {
return <span className="text-mc-red">{ign}</span>
}
if (specialRank === "STAFF") {
return <span className="text-mc-red">{ign}</span>
}
}
if (monthly === "SUPERSTAR") {
if (rankColor === "GOLD") {
return <span className="text-mc-gold">{ign}</span>
} else {
return <span className="text-mc-aqua">{ign}</span>
}
}
switch (rank) {
case "VIP":
return <span className="text-mc-green">{ign}</span>
case "VIP_PLUS":
return <span className="text-mc-green">{ign}</span>
case "MVP":
return <span className="text-mc-aqua">{ign}</span>
case "MVP_PLUS":
return <span className="text-mc-aqua">{ign}</span>
default:
return <span className="text-mc-gray">{ign}</span>
}
}
function PlayerRank(
{ rank, monthly, plusColor, rankColor, specialRank, prefix }: {
rank: NewPackageRank
monthly: MonthlyPackageRank
plusColor?: string
rankColor: RankColor
specialRank: string | undefined
prefix: string | undefined
}
) {
if (prefix === "[PIG+++]") {
return (
<>
<span className="text-mc-light-purple">[PIG</span>
<span className="text-mc-aqua">+++</span>
<span className="text-mc-light-purple">]</span>
</>
)
}
if (specialRank) {
if (specialRank === "YOUTUBER") {
return (
<>
<span className="text-mc-red">[</span>
<span className="text-mc-white">YOUTUBE</span>
<span className="text-mc-red">]</span>
</>
)
}
if (specialRank === "STAFF") {
return (
<>
<span className="text-mc-red">[</span>
<span className="text-mc-gold"></span>
<span className="text-mc-red">]</span>
</>
)
}
}
if (monthly === "SUPERSTAR") {
if (rankColor === "GOLD") {
return (
<>
<span className="text-mc-gold">[MVP</span>
<span className={getColor(plusColor)}>++</span>
<span className="text-mc-gold">]</span>
</>
)
} else {
return (
<>
<span className="text-mc-aqua">[MVP</span>
<span className={getColor(plusColor)}>++</span>
<span className="text-mc-aqua">]</span>
</>
)
}
}
switch (rank) {
case "VIP":
return <span className="text-mc-green">[VIP]</span>
case "VIP_PLUS":
return (
<>
<span className="text-mc-green">[VIP</span>
<span className="text-mc-gold">+</span>
<span className="text-mc-green">]</span>
</>
)
case "MVP":
return <span className="text-mc-aqua">[MVP]</span>
case "MVP_PLUS":
return (
<>
<span className="text-mc-aqua">[MVP</span>
<span className={getColor(plusColor)}>+</span>
<span className="text-mc-aqua">]</span>
</>
)
default:
return null
}
}
function GuildTag({ tag, tagColor, ign }: { tag?: string, tagColor?: string, ign: string }) {
if (!tag) return null
const color = getColor(tagColor, "text", "gray")
return (
<Link href={`/guild/${ign}`}>
<span className={color}>[{tag}]</span>
</Link>
)
}

View File

@@ -0,0 +1,77 @@
"use client"
import { formatRelativeTime } from "@/lib/formatters"
import { Wifi, WifiOff } from "lucide-react"
import { useEffect, useState } from "react"
import { Tooltip } from "react-tooltip"
export function OnlineStatus({ lastLogin, lastLogout }: { lastLogin: number | undefined, lastLogout: number | undefined }) {
const [pos, setPos] = useState({ x: 0, y: 0 })
const size = 36
useEffect(() => {
const controller = new AbortController()
window.addEventListener("mousemove", (e) => {
if (!(e.target instanceof SVGElement)) return
if (e.target.dataset.id !== "online-status") return
setPos({ x: e.clientX, y: e.clientY - 10 })
}, { signal: controller.signal })
return () => {
controller.abort()
}
})
return (
<>
<OnlineIcon lastLogout={lastLogout} lastLogin={lastLogin} size={size} />
<Tooltip id="online-status" position={pos} />
</>
)
}
function OnlineIcon({ lastLogout, lastLogin, size }: { lastLogout?: number, lastLogin?: number, size: number }) {
if (!lastLogout || !lastLogin) {
return (
<>
<WifiOff
data-id="online-status"
data-tooltip-id="online-status"
data-tooltip-content="Offline. Player is most likely in status offline or a staff with api off."
suppressHydrationWarning
className="text-mc-gray"
size={size}
/>
</>
)
}
if (lastLogout > lastLogin) {
return (
<>
<WifiOff
data-id="online-status"
data-tooltip-id="online-status"
data-tooltip-content={`Offline. Last seen online ${formatRelativeTime(lastLogout, "past")}`}
suppressHydrationWarning
className="text-mc-gray"
size={size}
/>
</>
)
}
return (
<>
<Wifi
data-id="online-status"
data-tooltip-id="online-status"
data-tooltip-content={`Online. Online for ${formatRelativeTime(lastLogin, "future")}`}
suppressHydrationWarning
className="text-mc-green"
size={size}
/>
</>
)
}

View File

@@ -10,7 +10,7 @@ import { Guild } from "@/lib/schema/guild"
import { Player } from "@/lib/schema/player"
import { Session } from "@/lib/schema/status"
import Link from "next/link"
import SocialIcons from "./SocialIcons"
import SocialIcons from "./social-icons"
type SidebarProps = {
level: number

View File

@@ -2,7 +2,7 @@ import { Separator } from "@/components/ui/separator"
import { formatNumber } from "@/lib/formatters"
import { getArcadeTotalWins } from "@/lib/hypixel/arcade/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
import { EmptyStats, GeneralStats } from "../stats-components"
import ArcadeOtherStats from "./other"
import { ArcadeMiniWallsStats, ArcadePixelPartyStats, ArcadeZombieStats } from "./stats"

View File

@@ -3,7 +3,7 @@ import { devide } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { capitalizeFirstLetter } from "@/lib/utils"
import { ReactNode } from "react"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function ArcadeOtherStats({ stats }: { stats: NonNullable<NonNullStats["Arcade"]> }) {
return (

View File

@@ -2,7 +2,7 @@ import { formatNumber } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { capitalizeFirstLetter } from "@/lib/utils"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
import { ArcadePixelPartyStatsTable, ArcadeZombieStatsTable, ArcadeZombieTypesTable } from "./table"
export function ArcadeZombieStats({ stats }: { stats: NonNullable<NonNullStats["Arcade"]> }) {

View File

@@ -2,8 +2,8 @@ import { formatNumber } from "@/lib/formatters"
import { getBedwarsPrestige, getBedwarsStar } from "@/lib/hypixel/bedwars/general"
import { getBedwarsLevelForExp } from "@/lib/hypixel/bedwars/level"
import { cn } from "@/lib/utils"
import { GenericProgress } from "../../_components/GenericProgress"
import Multicolored from "../../_components/Multicolored"
import { GenericProgress } from "../../_components/generic-progress"
import Multicolored from "../../_components/multicolored"
export function BedwarsLevel({ xp }: { xp: number }) {
const level = getBedwarsLevelForExp(xp)

View File

@@ -1,7 +1,7 @@
import { formatNumber } from "@/lib/formatters"
import { getBedwarsLatestRoom, getBedwarsWalletMax } from "@/lib/hypixel/bedwars/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat, Stat } from "../../_components/Stats"
import { BasicStat, Stat } from "../../_components/stats"
import { BedWarsPrestige } from "./components"
export default function BedwarsGeneralStats(

View File

@@ -1,7 +1,7 @@
import { formatNumber } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function BlitzGeneralStats({ stats }: { stats: NonNullable<NonNullStats["Blitz"]> }) {
const wins = stats.wins_solo_normal + stats.wins_teams_normal

View File

@@ -1,7 +1,7 @@
import { getBuildBattleRank, getBuildBattleRankNext } from "@/lib/hypixel/build-battle/general"
import { getProgress } from "@/lib/hypixel/general"
import { cn } from "@/lib/utils"
import { GenericProgress } from "../../_components/GenericProgress"
import { GenericProgress } from "../../_components/generic-progress"
export default function BuildBattleTitleProgress({ score }: { score: number }) {
const current = getBuildBattleRank(score)

View File

@@ -3,7 +3,7 @@ import { getBuildBattleRank } from "@/lib/hypixel/build-battle/general"
import { devide } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { cn } from "@/lib/utils"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function BuildBattleGeneralStats({ stats }: { stats: NonNullable<NonNullStats["BuildBattle"]> }) {
const rank = getBuildBattleRank(stats.score)

View File

@@ -1,7 +1,7 @@
import { formatNumber, formatSecondsToTime } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export function ArenaBrawlGeneralStats({ coins, keys, ws }: { coins: number, keys: number, ws: number }) {
return (

View File

@@ -1,7 +1,7 @@
import { formatNumber } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function CopsAndCrimsGeneralStats(
{ stats, kills, assits, deaths, wins }: {

View File

@@ -7,7 +7,7 @@ import {
} from "@/lib/hypixel/copsandcrims/general"
import { romanize } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { GenericProgressNoTooltip } from "../../_components/GenericProgress"
import { GenericProgressNoTooltip } from "../../_components/generic-progress"
export default function CopsAndCrimsWeaponStats({ stats }: { stats: NonNullable<NonNullStats["CopsAndCrims"]> }) {
return (

View File

@@ -3,7 +3,7 @@ import { Div } from "@/lib/hypixel/duels/general"
import { romanize } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { cn } from "@/lib/utils"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function DuelsGeneralStats(
{ stats, div, kd, wl }: { stats: NonNullable<NonNullStats["Duels"]>, div: Div | null, kd: string, wl: string }

View File

@@ -1,7 +1,7 @@
import { formatNumber } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function MegaWallsGeneralStats({ stats }: { stats: NonNullable<NonNullStats["MegaWalls"]> }) {
const wl = formatNumber(devide(stats.wins, stats.losses))

View File

@@ -1,7 +1,7 @@
import { formatNumber, formatSecondsToTime } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function MurderMysteryInfectionStats({ stats }: { stats: NonNullable<NonNullStats["MurderMystery"]> }) {
return (

View File

@@ -2,7 +2,7 @@ import { formatNumber, formatSecondsToTime } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { getMurderMysteryKnifeName } from "@/lib/hypixel/murder-mystery/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function MurderMysteryGeneralStats({ stats }: { stats: NonNullable<NonNullStats["MurderMystery"]> }) {
const kd = formatNumber(devide(stats.kills, stats.deaths))

View File

@@ -1,7 +1,7 @@
import { formatNumber } from "@/lib/formatters"
import { getProgress } from "@/lib/hypixel/general"
import { getPitPrestigeColor, getPitXpForPrestige } from "@/lib/hypixel/pit/general"
import { GenericProgress } from "../../_components/GenericProgress"
import { GenericProgress } from "../../_components/generic-progress"
export default function PitProgress({ prestige, xp }: { prestige: number, xp: number }) {
const presColor = getPitPrestigeColor(prestige)

View File

@@ -3,7 +3,7 @@ import { devide, romanize } from "@/lib/hypixel/general"
import { getPitLevelColor, getPitPrestige, getPitPrestigeColor } from "@/lib/hypixel/pit/general"
import { getPitLevel } from "@/lib/hypixel/pit/level"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function PitGeneralStats({ stats }: { stats: NonNullable<NonNullStats["Pit"]> }) {
const prestige = getPitPrestige(stats)

View File

@@ -2,7 +2,7 @@ import { formatNumber } from "@/lib/formatters"
import { getSkyWarsIcon, getSkywarsPrestige } from "@/lib/hypixel/skywars/general"
import { getSkywarsLevel } from "@/lib/hypixel/skywars/level"
import { cn } from "@/lib/utils"
import { GenericProgress } from "../../_components/GenericProgress"
import { GenericProgress } from "../../_components/generic-progress"
import { SkywarsHeadsBar, SkywarsPresigeousHeads } from "./client"
type SkywarsHeadsProps = {

View File

@@ -1,7 +1,7 @@
import { formatNumber } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat, Stat } from "../../_components/Stats"
import { BasicStat, Stat } from "../../_components/stats"
import { SkywarsPrestige } from "./components"
export default function SkyWarsGeneralStats({ stats, level }: { stats: NonNullable<NonNullStats["SkyWars"]>, level: number }) {

View File

@@ -1,7 +1,7 @@
import { formatNumber } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function SmashHerosGeneralStats({ stats }: { stats: NonNullable<NonNullStats["SmashHeros"]> }) {
const kd = formatNumber(devide(stats.kills, stats.deaths))

View File

@@ -1,6 +1,6 @@
import { getProgress } from "@/lib/hypixel/general"
import { getSpeedUHCScore, getSpeedUHCTitle } from "@/lib/hypixel/speeduhc/general"
import { GenericProgress } from "../../_components/GenericProgress"
import { GenericProgress } from "../../_components/generic-progress"
export default function SpeedUHCProgress({ level, score }: { level: number, score: number }) {
const nextScore = getSpeedUHCScore(level + 1)

View File

@@ -2,7 +2,7 @@ import { formatNumber } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { getSpeedUHCStar, getSpeedUHCTitle } from "@/lib/hypixel/speeduhc/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function SpeedUHCGeneralStats({ stats, uhcCoins }: { stats: NonNullable<NonNullStats["SpeedUHC"]>, uhcCoins: number | undefined }) {
const star = getSpeedUHCStar(stats.score)

View File

@@ -3,7 +3,7 @@ import { Card, CardContent } from "@/components/ui/card"
import { cn } from "@/lib/utils"
import { CircleSlash } from "lucide-react"
import { ReactNode } from "react"
import CollapsedStats from "../_components/CollapsedStats"
import CollapsedStats from "../_components/collapsed-stats"
export function GeneralStats(
{ id, title, children, collapsedStats, className }: {

View File

@@ -1,7 +1,7 @@
import { formatNumber, formatSecondsToTime } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function TNTGamesGeneralStats({ stats }: { stats: NonNullable<NonNullStats["TNTGames"]> }) {
return (

View File

@@ -3,8 +3,8 @@ import { formatNumber } from "@/lib/formatters"
import { devide, romanize } from "@/lib/hypixel/general"
import { getTNTGameMode, getTNTModeStats } from "@/lib/hypixel/tnt-games/general"
import { NonNullStats } from "@/lib/schema/player"
import { GenericProgressNoTooltip } from "../../_components/GenericProgress"
import { BasicStat } from "../../_components/Stats"
import { GenericProgressNoTooltip } from "../../_components/generic-progress"
import { BasicStat } from "../../_components/stats"
export default function TNTGamesWizardsStats({ stats }: { stats: NonNullable<NonNullStats["TNTGames"]> }) {
return (

View File

@@ -1,7 +1,7 @@
import { formatNumber } from "@/lib/formatters"
import { getProgress } from "@/lib/hypixel/general"
import { getUhcStar, getUhcStarNext } from "@/lib/hypixel/uhc/level"
import { GenericProgress } from "../../_components/GenericProgress"
import { GenericProgress } from "../../_components/generic-progress"
export default function UHCProgress({ score }: { score: number }) {
const current = getUhcStar(score)

View File

@@ -2,7 +2,7 @@ import { formatNumber } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { getUhcStar } from "@/lib/hypixel/uhc/level"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function UHCGeneralStats(
{ stats, kills, deaths, wins, heads }: { stats: NonNullable<NonNullStats["UHC"]>, kills: number, deaths: number, wins: number, heads: number }

View File

@@ -2,7 +2,7 @@ import { formatNumber } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { getWarlordsLosses } from "@/lib/hypixel/warlords/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export default function WarlordsGeneralStats({ stats }: { stats: NonNullable<NonNullStats["Warlords"]> }) {
const losses = getWarlordsLosses(stats)

View File

@@ -3,7 +3,7 @@ import { devide } from "@/lib/hypixel/general"
import { getWoolGamesWoolWarsClass, getWoolGamesWoolWarsClassColor } from "@/lib/hypixel/woolgames/general"
import { NonNullStats } from "@/lib/schema/player"
import { cn } from "@/lib/utils"
import { BasicStat } from "../../_components/Stats"
import { BasicStat } from "../../_components/stats"
export function WoolGamesCaptureTheWool({ ctw }: { ctw: NonNullable<NonNullStats["WoolGames"]>["capture_the_wool"] }) {
if (!ctw) {

View File

@@ -1,7 +1,7 @@
import { formatNumber } from "@/lib/formatters"
import { getWoolGamesPrestige, getWoolGamesXPForLevel } from "@/lib/hypixel/woolgames/general"
import { cn } from "@/lib/utils"
import { GenericProgress } from "../../_components/GenericProgress"
import { GenericProgress } from "../../_components/generic-progress"
export default function WoolGamesProgress({ xp, level }: { xp: number, level: number }) {
const pres = getWoolGamesPrestige(Math.floor(level))

View File

@@ -1,7 +1,7 @@
import { formatNumber, formatSecondsToTime } from "@/lib/formatters"
import { getWoolGamesPrestige } from "@/lib/hypixel/woolgames/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat, Stat } from "../../_components/Stats"
import { BasicStat, Stat } from "../../_components/stats"
export default function WoolGamesGeneralStats(
{ stats, level, kills, wins }: { stats: NonNullable<NonNullStats["WoolGames"]>, level: number, kills: number, wins: number }

View File

@@ -2,7 +2,7 @@ import { Separator } from "@/components/ui/separator"
import { formatNumber } from "@/lib/formatters"
import { getWoolGamesLevel, getWoolGamesPrestige, getWoolGamesPretigeIcon } from "@/lib/hypixel/woolgames/general"
import { NonNullStats } from "@/lib/schema/player"
import Multicolored from "../../_components/Multicolored"
import Multicolored from "../../_components/multicolored"
import { EmptyStats, GeneralStats } from "../stats-components"
import { WoolGamesCaptureTheWool, WoolGamesSheepWars, WoolGamesWoolWars } from "./modes"
import WoolGamesProgress from "./progress"

View File

@@ -1,4 +1,4 @@
import DisplayName from "@/components/player/displayname"
import DisplayName from "@/app/(stats)/player/[ign]/_components/displayname"
import { Card, CardContent } from "@/components/ui/card"
import { COOKIE_VALUES } from "@/data/general"
import { env } from "@/lib/env/server"
@@ -13,7 +13,7 @@ import { cookies } from "next/headers"
import { Suspense } from "react"
import z from "zod"
import { PlayerPageLoadText, PlayerStats } from "./_client"
import Sidebar from "./_components/Sidebar"
import Sidebar from "./_components/sidebar"
export async function generateMetadata({ params }: { params: Promise<{ ign: string }> }): Promise<Metadata> {
const { ign } = await params