From ff1b00ff58fe6417e0f39516c99991ea11885538 Mon Sep 17 00:00:00 2001 From: Taken Date: Sat, 27 Sep 2025 20:01:16 +0200 Subject: [PATCH] Updated sidebars with their own component --- src/app/(stats)/_components/sidebar.tsx | 20 ++++ .../guild/[value]/_components/sidebar.tsx | 77 +++++------- .../player/[ign]/_components/sidebar.tsx | 112 ++++-------------- 3 files changed, 77 insertions(+), 132 deletions(-) create mode 100644 src/app/(stats)/_components/sidebar.tsx diff --git a/src/app/(stats)/_components/sidebar.tsx b/src/app/(stats)/_components/sidebar.tsx new file mode 100644 index 0000000..a713230 --- /dev/null +++ b/src/app/(stats)/_components/sidebar.tsx @@ -0,0 +1,20 @@ +import { cn } from "@/lib/utils" +import { ReactNode } from "react" + +export function BasicSidebarItem({ title, value, className }: { title: string, value: string | number, className?: string }) { + return ( +

+ {title} + {value} +

+ ) +} + +export function SidebarItem({ title, children }: { title: string, children: ReactNode }) { + return ( +
+ {title} + {children} +
+ ) +} diff --git a/src/app/(stats)/guild/[value]/_components/sidebar.tsx b/src/app/(stats)/guild/[value]/_components/sidebar.tsx index 133c5ae..d1354bc 100644 --- a/src/app/(stats)/guild/[value]/_components/sidebar.tsx +++ b/src/app/(stats)/guild/[value]/_components/sidebar.tsx @@ -1,3 +1,4 @@ +import { BasicSidebarItem, SidebarItem } from "@/app/(stats)/_components/sidebar" import { GenericProgress } from "@/app/(stats)/player/[ign]/_components/generic-progress" import { ReplaceLinks } from "@/components/link-replace" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" @@ -22,17 +23,18 @@ export default function Sidebar({ guild }: SidebarProps) { const nextXp = getGuildExp(Math.floor(level) + 1) return (
-

Leveling Progress

-
-

{Math.floor(level)}

- -

{Math.floor(level) + 1}

-
+ +
+

{Math.floor(level)}

+ +

{Math.floor(level) + 1}

+
+
) } @@ -40,18 +42,9 @@ export default function Sidebar({ guild }: SidebarProps) { function GeneralInfo() { return (
-

- {"Level: "} - {formatNumber(level)} -

-

- {"Created: "} - {formatDate(guild.created)} -

-

- {"Legacy Rank: "} - {guild.legacyRanking !== undefined ? formatNumber(guild.legacyRanking) : "None"} -

+ + +
) } @@ -59,18 +52,9 @@ export default function Sidebar({ guild }: SidebarProps) { function Other() { return (
-

- {"Members: "} - {guild.members.length} -

-

- {"Publicly Listed: "} - {guild.publiclyListed === true ? "Yes" : "No"} -

-

- {"Publicly Joinable: "} - {guild.joinable === true ? "Yes" : "No"} -

+ + +
) } @@ -78,17 +62,18 @@ export default function Sidebar({ guild }: SidebarProps) { function PreferedGames() { return (
-

- {"Preferred Games: "} - {guild.preferredGames === undefined ? No prefered games : ( - - {guild.preferredGames.map(g => { - const game = getGame(g) - return game?.name || null - }).filter(g => g !== null).sort().join(", ")} - - )} -

+ + {guild.preferredGames === undefined ? + No prefered games : + ( + + {guild.preferredGames.map(g => { + const game = getGame(g) + return game?.name || null + }).filter(g => g !== null).sort().join(", ")} + + )} +
) } diff --git a/src/app/(stats)/player/[ign]/_components/sidebar.tsx b/src/app/(stats)/player/[ign]/_components/sidebar.tsx index 776d50d..8ef46b1 100644 --- a/src/app/(stats)/player/[ign]/_components/sidebar.tsx +++ b/src/app/(stats)/player/[ign]/_components/sidebar.tsx @@ -1,3 +1,4 @@ +import { BasicSidebarItem, SidebarItem } from "@/app/(stats)/_components/sidebar" import { Button } from "@/components/ui/button" import { Card, CardContent } from "@/components/ui/card" import { Separator } from "@/components/ui/separator" @@ -47,16 +48,12 @@ export default function Sidebar({ level, ign, player, guild, rank, specialRank, function Coins() { return (
-

- {"Coin multiplier: "} - {`x${levelMultiplierVal} ${levelMultiplierText}`} -

-

- {"Total coins: "} + + {formatNumber(getTotalCoins(player.stats))} -

+
) } @@ -82,10 +79,7 @@ export default function Sidebar({ level, ign, player, guild, rank, specialRank, {": "} {formatNumber(getTotalQuests(player.quests))}

-

- {"Challenges Completed: "} - {formatNumber(getTotalChallenges(player.challenges))} -

+ ) } @@ -93,26 +87,16 @@ export default function Sidebar({ level, ign, player, guild, rank, specialRank, function DailyRewards() { return (
-

- {"Today's Reward: "} + {rewardClaimed(player.lastClaimedReward) ? "Claimed" : "Unclaimed"} -

-

- {"Rewards Claimed: "} - {player.totalRewards} -

-

- {"Reward Streak: "} - {player.rewardStreak} -

-

- {"Top Reward Streak: "} - {player.rewardHighScore} -

+ + + +
) } @@ -120,14 +104,8 @@ export default function Sidebar({ level, ign, player, guild, rank, specialRank, function Gifting() { return (
-

- {"Gifts Given: "} - {player.giftingMeta?.giftsGiven ?? 0} -

-

- {"Ranks Given: "} - {player.giftingMeta?.ranksGiven ?? 0} -

+ +
) } @@ -135,14 +113,8 @@ export default function Sidebar({ level, ign, player, guild, rank, specialRank, function Logins() { return (
-

- {"First Login: "} - {formatDate(player.firstLogin ?? 0)} -

-

- {"Last Login: "} - {formatDate(player.lastLogin ?? 0)} -

+ +
) } @@ -167,35 +139,21 @@ export default function Sidebar({ level, ign, player, guild, rank, specialRank,

Guild

-

- {"Name: "} + {guild.name} -

-

- {"Members: "} - {guild.members.length} -

+ +
-

- {"Rank: "} + {`${getGuildMember(guild, player.uuid)?.rank} `} {getGuildRankTag(guild, player.uuid)} -

-

- {"Daily GEXP: "} - {formatNumber(getMemberGEXP(guild, player.uuid, 0) ?? 0)} -

-

- {"Weekly GEXP: "} - {formatNumber(getMemberWeeklyGEXP(guild, player.uuid) ?? 0)} -

-

- {"Joined: "} - {formatDate(getGuildMember(guild, player.uuid)?.joined ?? 0)} -

+ + + +
@@ -209,10 +167,7 @@ export default function Sidebar({ level, ign, player, guild, rank, specialRank, <>

Online Status

-

- {"Status: "} - Offline -

+
@@ -247,24 +202,9 @@ export default function Sidebar({ level, ign, player, guild, rank, specialRank,

Online Status

- {session.gameType && ( -

- {"Game: "} - {getGame(session.gameType)?.name || "Unknown"} -

- )} - {showMode && ( -

- {"Mode: "} - {mode || "Unknown"} -

- )} - {showMap && ( -

- {"Map: "} - {session.map} -

- )} + {session.gameType && } + {showMode && } + {showMap && }