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 &&
}