diff --git a/src/lib/components/HasToolAccess.svelte b/src/lib/components/HasToolAccess.svelte
index 072925e..aee5f82 100644
--- a/src/lib/components/HasToolAccess.svelte
+++ b/src/lib/components/HasToolAccess.svelte
@@ -3,9 +3,11 @@
formatToolRequirementSummary,
meetsToolRequirement,
DEFAULT_ADMIN_RANK_FALLBACK,
+ PLEB_BEATLEADER_ID,
type BeatLeaderPlayerProfile,
type ToolRequirement
} from '$lib/utils/plebsaber-utils';
+ import PlayerCard from '$lib/components/PlayerCard.svelte';
const BL_PATREON_URL = 'https://www.patreon.com/BeatLeader';
@@ -14,17 +16,19 @@
export let customLockedMessage: string | null = null;
export let showCurrentRank = true;
export let adminRank: number | null = null;
+ export let adminPlayer: BeatLeaderPlayerProfile | null = null;
$: requirementContext = { adminRank };
$: hasAccess = meetsToolRequirement(player, requirement, requirementContext);
$: summary = formatToolRequirementSummary(requirement, requirementContext);
$: fallbackBaseline = DEFAULT_ADMIN_RANK_FALLBACK;
- $: resolvedBaseline = typeof adminRank === 'number' && Number.isFinite(adminRank) && adminRank > 0
- ? adminRank
- : fallbackBaseline;
+ $: resolvedBaseline =
+ typeof adminRank === 'number' && Number.isFinite(adminRank) && adminRank > 0 ? adminRank : fallbackBaseline;
+ $: plebProfile = adminPlayer;
+ $: plebName = plebProfile?.name;
$: baselineCopy = resolvedBaseline
- ? `players ranked better than pleb (#${resolvedBaseline.toLocaleString()})`
- : 'players ranked better than pleb';
+ ? `players ranked better than ${plebName} (#${resolvedBaseline.toLocaleString()})`
+ : `players ranked better than ${plebName}`;
$: defaultLockedMessage = requirement?.requiresBetterRankThanAdmin
? `You must be a BL Patreon supporter or ${baselineCopy} to use this tool.`
: requirement?.lockedMessage ?? null;
@@ -47,15 +51,43 @@
{#if showLockedMessage}
{showLockedMessage}
{/if}
+ {#if plebProfile}
+
+
+
+ {/if}
{#if showCurrentRank}
{#if playerRankDisplay}
Current global rank: {playerRankDisplay}
{:else}
- We couldn't determine your current BeatLeader rank. Refresh after your profile updates.
+ We couldn't determine your current BeatLeader rank. Try logging in.
{/if}
- This app supports three ways to access your BeatLeader data: Steam, OAuth, and a website‑style session.
+ For this app, I explored three ways to access your BeatLeader data: Steam, OAuth, or a website‑style session.
+
+ I wanted tools like Compare Players to show unranked star ratings when your BeatLeader account is a supporter and ShowAllRatings is enabled. That turns out to not be possible without implementing Steam ticket handling using the Steamworks SDK. The rest of the notes here were written before I realized that.
+