1.4 KiB
1.4 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, andSongPlayer.sveltefor consistent UI/UX. /testingroute (dev-only) 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 avatars and last-seen timestamps; navigation link only appears for that account.
Shell command guidance
- Whitelisted commands:
grep - DO NOT USE:
cd(preferpwd)