Skip to content

Commit 84846e1

Browse files
committed
show alt account notice on player profile page
1 parent 7e5b9b9 commit 84846e1

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

src/routes/mge/players/[steamid]/+page.server.ts

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { redirect } from '@sveltejs/kit';
33
import prismaArg from '$lib/prisma/prismaArg';
44
import prismaBr from '$lib/prisma/prismaBr';
55
import { ID } from '@node-steam/id';
6+
import { toSteam64FromAny, allIdVariantsForSteam64 } from '$lib/whois/utils';
67

78
export const load: PageServerLoad = async ({ params, locals, url }) => {
89
if (!locals.user) {
@@ -36,13 +37,41 @@ export const load: PageServerLoad = async ({ params, locals, url }) => {
3637
lastSeenBr = brLast?.endtime ? Number(brLast.endtime) : null;
3738
} catch {}
3839

40+
// Determine if viewed profile is an alt of the logged-in user's main
41+
let isAltOfViewerMain = false;
42+
try {
43+
const viewer64 = toSteam64FromAny(String(locals.user?.steamid || ''));
44+
const viewed64 = toSteam64FromAny(String(params.steamid));
45+
if (viewer64 && viewed64) {
46+
const viewerVariants = allIdVariantsForSteam64(viewer64);
47+
const viewerAltRow = await prismaArg.whois_alt_links.findFirst({
48+
where: { steam_id: { in: viewerVariants } },
49+
select: { main_steam_id: true }
50+
});
51+
const viewerMain64 = viewerAltRow?.main_steam_id ? toSteam64FromAny(viewerAltRow.main_steam_id) || viewer64 : viewer64;
52+
53+
const viewedVariants = allIdVariantsForSteam64(viewed64);
54+
const viewerMainVariants = allIdVariantsForSteam64(viewerMain64);
55+
56+
const link = await prismaArg.whois_alt_links.findFirst({
57+
where: {
58+
steam_id: { in: viewedVariants },
59+
main_steam_id: { in: viewerMainVariants }
60+
},
61+
select: { steam_id: true }
62+
});
63+
isAltOfViewerMain = Boolean(link);
64+
}
65+
} catch {}
66+
3967
return {
4068
id: params.steamid,
4169
existsInAr,
4270
existsInBr,
4371
lastSeenAr,
4472
lastSeenBr,
45-
lastSeen: Math.max(lastSeenAr ?? 0, lastSeenBr ?? 0) || null
73+
lastSeen: Math.max(lastSeenAr ?? 0, lastSeenBr ?? 0) || null,
74+
isAltOfViewerMain
4675
};
4776
};
4877

src/routes/mge/players/[steamid]/+page.svelte

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
let activityTimes = $state<string[]>([]);
5050
let activityDays = $state(30);
5151
const lastSeenGlobal = $derived(Number(data.lastSeen ?? 0) || null);
52+
const showAltNotice = $derived(Boolean(data.isAltOfViewerMain));
5253
function formatLastSeen(ts: number | null): string {
5354
if (!ts) return '';
5455
const diffMs = Date.now() - ts * 1000;
@@ -209,6 +210,11 @@
209210
</div>
210211
</div>
211212
<div class="mt-3 flex flex-col gap-3">
213+
{#if showAltNotice}
214+
<div class="rounded-md border border-violet-300 bg-violet-50 p-3 text-violet-900 dark:border-violet-900/50 dark:bg-violet-950 dark:text-violet-100">
215+
This account has been flagged as one of your alts. Its ELO may be reset to the server default.
216+
</div>
217+
{/if}
212218
{#if !existsInAny}
213219
<div class="rounded-md border border-rose-300 bg-rose-50 p-3 text-rose-900 dark:border-rose-900/50 dark:bg-rose-950 dark:text-rose-100">Player does not exist in any region.</div>
214220
{:else if !existsInCurrent && existsInOther}

0 commit comments

Comments
 (0)