diff --git a/app/routes/u.$identifier/index.tsx b/app/routes/u.$identifier/index.tsx
index 12ed2a0f4..a784763e9 100644
--- a/app/routes/u.$identifier/index.tsx
+++ b/app/routes/u.$identifier/index.tsx
@@ -12,7 +12,11 @@ import { Image, WeaponImage } from "~/components/Image";
import { useTranslation } from "~/hooks/useTranslation";
import { modesShort } from "~/modules/in-game-lists";
import { type SendouRouteHandle } from "~/utils/remix";
-import { rawSensToString } from "~/utils/strings";
+import {
+ capitalize,
+ isNewDiscordUniqueName,
+ rawSensToString,
+} from "~/utils/strings";
import type { Unpacked } from "~/utils/types";
import { assertUnreachable } from "~/utils/types";
import {
@@ -39,10 +43,19 @@ export default function UserInfoPage() {
-
{data.discordName}
+
+ {isNewDiscordUniqueName(data.discordDiscriminator)
+ ? capitalize(data.discordName)
+ : data.discordName}
+
- #{data.discordDiscriminator}
+ {!isNewDiscordUniqueName(data.discordDiscriminator) ? (
+ <>
+ #{data.discordDiscriminator}
+
+ >
+ ) : null}
{data.country ? : null}
diff --git a/app/utils/strings.ts b/app/utils/strings.ts
index a962340e2..f66e452d4 100644
--- a/app/utils/strings.ts
+++ b/app/utils/strings.ts
@@ -1,9 +1,15 @@
import type { GearType, User } from "~/db/types";
import { assertUnreachable } from "./types";
+export const isNewDiscordUniqueName = (discordDiscriminator: string) =>
+ discordDiscriminator === "0";
+
export function discordFullName(
user: Pick
) {
+ if (isNewDiscordUniqueName(user.discordDiscriminator)) {
+ return capitalize(user.discordName);
+ }
return `${user.discordName}#${user.discordDiscriminator}`;
}
@@ -62,3 +68,7 @@ export function gearTypeToInitial(gearType: GearType) {
assertUnreachable(gearType);
}
}
+
+export function capitalize(str: string) {
+ return str[0].toUpperCase() + str.slice(1);
+}