Custom Discriminator in EditUsernameModalBody

This commit is contained in:
Fedor Indutny 2024-01-18 11:53:24 -08:00 committed by GitHub
parent fa3937e084
commit 38914a45cb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 615 additions and 165 deletions

View file

@ -48,6 +48,7 @@ export enum ToastType {
UnsupportedMultiAttachment = 'UnsupportedMultiAttachment',
UnsupportedOS = 'UnsupportedOS',
UserAddedToGroup = 'UserAddedToGroup',
WhoCanFindMeReadOnly = 'WhoCanFindMeReadOnly',
}
export type AnyToast =
@ -108,4 +109,5 @@ export type AnyToast =
| {
toastType: ToastType.UserAddedToGroup;
parameters: { contact: string; group: string };
};
}
| { toastType: ToastType.WhoCanFindMeReadOnly };

View file

@ -16,6 +16,9 @@ export enum ReserveUsernameError {
TooManyCharacters = 'TooManyCharacters',
CheckStartingCharacter = 'CheckStartingCharacter',
CheckCharacters = 'CheckCharacters',
NotEnoughDiscriminator = 'NotEnoughDiscriminator',
AllZeroDiscriminator = 'AllZeroDiscriminator',
LeadingZeroDiscriminator = 'LeadingZeroDiscriminator',
}
export enum ConfirmUsernameResult {
@ -41,11 +44,18 @@ export function getNickname(username: string): string | undefined {
return match[1];
}
export function getDiscriminator(username: string): string {
const match = username.match(/(\..*)$/);
export function getDiscriminator(username: string): string | undefined {
const match = username.match(/\.([0-9]*)$/);
if (!match) {
return '';
return undefined;
}
return match[1];
}
export function isCaseChange({
previousUsername,
username,
}: UsernameReservationType): boolean {
return previousUsername?.toLowerCase() === username.toLowerCase();
}