diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 7f0e4fe818..2059f2e9cb 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -5907,6 +5907,14 @@ "messageformat": "Your profile could not be updated. Please try again.", "description": "Error message when something goes wrong updating your profile." }, + "icu:ProfileEditor__invalid-about__title": { + "messageformat": "Invalid characters", + "description": "Title of the confirmation model for profile editor when about text contains invalid characters" + }, + "icu:ProfileEditor__invalid-about__body": { + "messageformat": "One or more characters you’ve entered can’t be used. Try again.", + "description": "Body of the confirmation model for profile editor when about text contains invalid characters" + }, "icu:AnnouncementsOnlyGroupBanner--modal": { "messageformat": "Message an admin", "description": "Modal title for the list of admins in a group" diff --git a/stylesheets/components/AboutContactModal.scss b/stylesheets/components/AboutContactModal.scss index 11ce8eed61..726037776b 100644 --- a/stylesheets/components/AboutContactModal.scss +++ b/stylesheets/components/AboutContactModal.scss @@ -55,7 +55,9 @@ } &--verified { - @include about-modal-icon('../images/icons/v3/check/check.svg'); + @include about-modal-icon( + '../images/icons/v3/safety_number/safety_number.svg' + ); } &--blocked { diff --git a/stylesheets/components/ConversationHeader.scss b/stylesheets/components/ConversationHeader.scss index f5b3f120c5..92e8f5cc90 100644 --- a/stylesheets/components/ConversationHeader.scss +++ b/stylesheets/components/ConversationHeader.scss @@ -136,7 +136,9 @@ } &__verified { - @include icon-element('../images/icons/v3/check/check-compact.svg'); + @include icon-element( + '../images/icons/v3/safety_number/safety_number-compact.svg' + ); } } } diff --git a/stylesheets/components/SystemMessage.scss b/stylesheets/components/SystemMessage.scss index ee26785ac7..0ab5728b46 100644 --- a/stylesheets/components/SystemMessage.scss +++ b/stylesheets/components/SystemMessage.scss @@ -198,7 +198,7 @@ &--icon-verified::before { @include system-message-icon( - '../images/icons/v3/check/check-compact.svg' + '../images/icons/v3/safety_number/safety_number-compact.svg' ); } diff --git a/ts/components/ProfileEditor.tsx b/ts/components/ProfileEditor.tsx index 25ff7b3218..89bbc34f81 100644 --- a/ts/components/ProfileEditor.tsx +++ b/ts/components/ProfileEditor.tsx @@ -36,6 +36,7 @@ import type { ShowToastAction } from '../state/ducks/toast'; import { getEmojiData, unifiedToEmoji } from './emoji/lib'; import { assertDev } from '../util/assert'; import { missingCaseError } from '../util/missingCaseError'; +import { sanitizeAboutText } from '../util/getAboutText'; import { ConfirmationDialog } from './ConfirmationDialog'; import { ContextMenu } from './ContextMenu'; import { UsernameLinkModalBody } from './UsernameLinkModalBody'; @@ -209,6 +210,7 @@ export function ProfileEditor({ }); const [isResettingUsername, setIsResettingUsername] = useState(false); const [isResettingUsernameLink, setIsResettingUsernameLink] = useState(false); + const [isInvalidAboutText, setIsInvalidAboutText] = useState(false); // Reset username edit state when leaving useEffect(() => { @@ -495,6 +497,14 @@ export function ProfileEditor({