import React, { useEffect, useState } from 'react' import LevelBadge from '../../components/xp/LevelBadge' import XPProgressBar from '../../components/xp/XPProgressBar' export default function XPProgressWidget({ initialLevel = 1, initialRank = 'Newbie' }) { const [data, setData] = useState({ xp: 0, level: initialLevel, rank: initialRank, current_level_xp: 0, next_level_xp: 100, progress_percent: 0, max_level: false, }) const [loading, setLoading] = useState(true) useEffect(() => { let cancelled = false async function load() { try { const response = await window.axios.get('/api/user/xp') if (!cancelled && response.data) { setData((current) => ({ ...current, ...response.data })) } } finally { if (!cancelled) { setLoading(false) } } } load() return () => { cancelled = true } }, []) return (

Progression

XP Progress

{loading ?

Syncing your latest XP...

: null}
) }