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); +}