1.6 KiB
1.6 KiB
AGENT NOTES
- SvelteKit app under
src/; tools require BeatLeader auth and rank gating. - Shared logic lives in
src/lib/utils/plebsaber-utils.ts(requirements, playlist helpers, etc.). - Tool routes (
/tools/*) use a layout that fetches the BeatLeader profile once (+layout.server.ts). - UI components for gating (e.g.,
HasToolAccess.svelte) handle supporter/top-3k restrictions. - BeatLeader session info exposed via
/api/beatleader/me; navbar warns if outside allowed rank. - OAuth callback stores identity in a long-lived session (
plebsaber_sessionvia.data/plebsaber_sessions.json). - Tools expect BeatLeader supporter or global rank better than pleb's current rank; navbar dropdown warns when outside that threshold.
- Global navigation lives in
src/lib/components/NavBar.svelte; it houses the BeatLeader login dropdown with profile, testing (dev) and logout actions. - Core BeatLeader tool pages reuse shared components such as
PlayerCompareForm.svelte,MapCard.svelte,PlayerCard.svelte, andSongPlayer.sveltefor consistent UI/UX. /player-inforoute consumes/api/beatleader/meto display and log raw BeatLeader session data for debugging./tools/stats(admin-only, BL id76561199407393962) lists every stored BeatLeader session with full player profiles, skill triangles, and last-seen timestamps; navigation link only appears for that account./tools/compare-historiescompares two players' play histories and displays their profiles with skill triangles when comparing.
Shell command guidance
- Dont' use
cd, preferpwd - Dont' use
rg, prefergrep -r