Username deletion UI

This commit is contained in:
Fedor Indutny 2024-06-04 10:00:35 -07:00 committed by GitHub
parent 965e78d129
commit a9b1a37054
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 2 additions and 29 deletions

View file

@ -5608,7 +5608,7 @@
}, },
"icu:ProfileEditor--username--delete-unavailable-notice": { "icu:ProfileEditor--username--delete-unavailable-notice": {
"messageformat": "To delete your username, open Signal on your phone and navigate to Settings > Profile.", "messageformat": "To delete your username, open Signal on your phone and navigate to Settings > Profile.",
"description": "Shown in dialog body if user is trying to delete username, but it is only supported on mobile" "description": "(Deleted 2024/06/04) Shown in dialog body if user is trying to delete username, but it is only supported on mobile"
}, },
"icu:ProfileEditor--username--context-menu": { "icu:ProfileEditor--username--context-menu": {
"messageformat": "Copy or delete username", "messageformat": "Copy or delete username",

View file

@ -44,9 +44,6 @@ export default {
usernameLinkCorrupted: { usernameLinkCorrupted: {
control: 'boolean', control: 'boolean',
}, },
isUsernameDeletionEnabled: {
control: 'boolean',
},
}, },
args: { args: {
aboutEmoji: '', aboutEmoji: '',
@ -63,7 +60,6 @@ export default {
usernameLinkColor: Proto.AccountRecord.UsernameLink.Color.PURPLE, usernameLinkColor: Proto.AccountRecord.UsernameLink.Color.PURPLE,
usernameEditState: UsernameEditState.Editing, usernameEditState: UsernameEditState.Editing,
usernameLinkState: UsernameLinkState.Ready, usernameLinkState: UsernameLinkState.Ready,
isUsernameDeletionEnabled: true,
recentEmojis: [], recentEmojis: [],
skinTone: 0, skinTone: 0,

View file

@ -88,7 +88,6 @@ export type PropsDataType = {
usernameLinkColor?: number; usernameLinkColor?: number;
usernameLink?: string; usernameLink?: string;
usernameLinkCorrupted: boolean; usernameLinkCorrupted: boolean;
isUsernameDeletionEnabled: boolean;
} & Pick<EmojiButtonProps, 'recentEmojis' | 'skinTone'>; } & Pick<EmojiButtonProps, 'recentEmojis' | 'skinTone'>;
type PropsActionType = { type PropsActionType = {
@ -176,7 +175,6 @@ export function ProfileEditor({
usernameLinkColor, usernameLinkColor,
usernameLink, usernameLink,
usernameLinkCorrupted, usernameLinkCorrupted,
isUsernameDeletionEnabled,
}: PropsType): JSX.Element { }: PropsType): JSX.Element {
const focusInputRef = useRef<HTMLInputElement | null>(null); const focusInputRef = useRef<HTMLInputElement | null>(null);
const [editState, setEditState] = useState<EditState>(initialEditState); const [editState, setEditState] = useState<EditState>(initialEditState);
@ -210,7 +208,6 @@ export function ProfileEditor({
firstName, firstName,
}); });
const [isResettingUsername, setIsResettingUsername] = useState(false); const [isResettingUsername, setIsResettingUsername] = useState(false);
const [isUsernameNoticeVisible, setIsUsernameNoticeVisible] = useState(false);
const [isResettingUsernameLink, setIsResettingUsernameLink] = useState(false); const [isResettingUsernameLink, setIsResettingUsernameLink] = useState(false);
// Reset username edit state when leaving // Reset username edit state when leaving
@ -568,11 +565,7 @@ export function ProfileEditor({
icon: 'ProfileEditor__username-menu__trash-icon', icon: 'ProfileEditor__username-menu__trash-icon',
label: i18n('icu:ProfileEditor--username--delete'), label: i18n('icu:ProfileEditor--username--delete'),
onClick: () => { onClick: () => {
if (isUsernameDeletionEnabled) {
setUsernameEditState(UsernameEditState.ConfirmingDelete); setUsernameEditState(UsernameEditState.ConfirmingDelete);
} else {
setIsUsernameNoticeVisible(true);
}
}, },
}, },
]; ];
@ -767,17 +760,6 @@ export function ProfileEditor({
</ConfirmationDialog> </ConfirmationDialog>
)} )}
{isUsernameNoticeVisible && (
<ConfirmationDialog
dialogName="ProfileEditor.confirmDeleteUsername"
i18n={i18n}
onClose={() => setIsUsernameNoticeVisible(false)}
cancelText={i18n('icu:ok')}
>
{i18n('icu:ProfileEditor--username--delete-unavailable-notice')}
</ConfirmationDialog>
)}
{confirmDiscardAction && ( {confirmDiscardAction && (
<ConfirmDiscardDialog <ConfirmDiscardDialog
i18n={i18n} i18n={i18n}

View file

@ -36,7 +36,6 @@ export function ProfileEditorModal({
hasError, hasError,
i18n, i18n,
initialEditState, initialEditState,
isUsernameDeletionEnabled,
markCompletedUsernameLinkOnboarding, markCompletedUsernameLinkOnboarding,
myProfileChanged, myProfileChanged,
onSetSkinTone, onSetSkinTone,
@ -109,7 +108,6 @@ export function ProfileEditorModal({
hasCompletedUsernameLinkOnboarding={hasCompletedUsernameLinkOnboarding} hasCompletedUsernameLinkOnboarding={hasCompletedUsernameLinkOnboarding}
i18n={i18n} i18n={i18n}
initialEditState={initialEditState} initialEditState={initialEditState}
isUsernameDeletionEnabled={isUsernameDeletionEnabled}
markCompletedUsernameLinkOnboarding={ markCompletedUsernameLinkOnboarding={
markCompletedUsernameLinkOnboarding markCompletedUsernameLinkOnboarding
} }

View file

@ -21,7 +21,6 @@ import {
getUsernameLink, getUsernameLink,
getUsernameLinkColor, getUsernameLinkColor,
getUsernameLinkCorrupted, getUsernameLinkCorrupted,
isInternalUser,
} from '../selectors/items'; } from '../selectors/items';
import { getIntl } from '../selectors/user'; import { getIntl } from '../selectors/user';
import { import {
@ -55,7 +54,6 @@ export const SmartProfileEditorModal = memo(function SmartProfileEditorModal() {
); );
const hasError = useSelector(getProfileEditorHasError); const hasError = useSelector(getProfileEditorHasError);
const initialEditState = useSelector(getProfileEditorInitialEditState); const initialEditState = useSelector(getProfileEditorInitialEditState);
const isUsernameDeletionEnabled = useSelector(isInternalUser);
const recentEmojis = useSelector(selectRecentEmojis); const recentEmojis = useSelector(selectRecentEmojis);
const skinTone = useSelector(getEmojiSkinTone); const skinTone = useSelector(getEmojiSkinTone);
const usernameCorrupted = useSelector(getUsernameCorrupted); const usernameCorrupted = useSelector(getUsernameCorrupted);
@ -99,7 +97,6 @@ export const SmartProfileEditorModal = memo(function SmartProfileEditorModal() {
hasError={hasError} hasError={hasError}
i18n={i18n} i18n={i18n}
initialEditState={initialEditState} initialEditState={initialEditState}
isUsernameDeletionEnabled={isUsernameDeletionEnabled}
markCompletedUsernameLinkOnboarding={markCompletedUsernameLinkOnboarding} markCompletedUsernameLinkOnboarding={markCompletedUsernameLinkOnboarding}
myProfileChanged={myProfileChanged} myProfileChanged={myProfileChanged}
onSetSkinTone={onSetSkinTone} onSetSkinTone={onSetSkinTone}