diff --git a/src/components/frontend/blocks/AppSidebar.tsx b/src/components/frontend/blocks/AppSidebar.tsx index 6be0dd0..960c978 100644 --- a/src/components/frontend/blocks/AppSidebar.tsx +++ b/src/components/frontend/blocks/AppSidebar.tsx @@ -38,6 +38,7 @@ import XPDisplay from "@/components/frontend/blocks/XPDisplay"; import type { ResolvedLevel } from "@/utils/xp/resolveLevel"; import { Rank, User } from "@/payload-types"; import { Progress } from "@/components/ui/progress"; +import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"; import { updatePreferences } from "@/app/(frontend)/account/actions"; const data = { @@ -277,7 +278,16 @@ export function AppSidebar({
{isMiniMode ? (
-
{xpLevel.levelName}
+ + +
+ {xpLevel.levelName} +
+
+ +

{xpLevel.levelDesc}

+
+
{xpLevel.xp.toLocaleString()} diff --git a/src/components/frontend/blocks/XPDisplay.tsx b/src/components/frontend/blocks/XPDisplay.tsx index 4b16fd4..9ca0167 100644 --- a/src/components/frontend/blocks/XPDisplay.tsx +++ b/src/components/frontend/blocks/XPDisplay.tsx @@ -6,9 +6,10 @@ import { Progress } from "@/components/ui/progress"; import { SparkleIcon } from "lucide-react"; import type { ResolvedLevel } from "@/utils/xp/resolveLevel"; import { PROFILE_UPDATE_EVENT, type ProfileUpdateDetail } from "@/hooks/useGameTick"; +import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"; const XPDisplay = ({ xpLevel }: { xpLevel: ResolvedLevel }) => { - const { levelName, progress, xp, nextLevelXP } = xpLevel; + const { levelName, levelDesc, progress, xp, nextLevelXP } = xpLevel; const [xpGain, setXpGain] = useState(null); const [xpGainId, setXpGainId] = useState(0); const lastGainRef = useRef<{ amount: number; at: number } | null>(null); @@ -44,7 +45,14 @@ const XPDisplay = ({ xpLevel }: { xpLevel: ResolvedLevel }) => {
- {levelName} + + + {levelName} + + +

{levelDesc ?? "Missing content!"}

+
+
{xp.toLocaleString()} {xpGain !== null && (