refactor(profile): drop extended-profile editing, keep right-panel display

Extended-profile fields (io.element.profile.*) are no longer edited in the
client, so remove the edit form and the dead code that came with it, keeping
only the read-only right-panel display (UserExtendedProfileInfo).

- Remove ExtendedProfileSettings (edit form) + its Settings integration and CSS
- Remove ExtendedProfileView (never-rendered, dead) + its CSS
- Inline the EXT_PROFILE_KEY_* constants into UserExtendedProfileInfo so it no
  longer depends on the deleted settings component
- Drop now-unused set/deleteExtendedProfileProperty from UserProfilesStore
- Prune dead settings|extended_profile_settings|* i18n keys (and the unused
  user_info.extended_profile header/not_provided keys) across all locales
- Regenerate _components.pcss
- Revert UserProfileSettings/AccountUserSettingsTab tests (+snapshot) to master,
  since their adaptations existed only for the removed edit form
This commit is contained in:
2026-06-06 15:44:51 +02:00
parent 098d5b0ca2
commit 3a6a93edfe
16 changed files with 18 additions and 1042 deletions
-2
View File
@@ -235,7 +235,6 @@
@import "./views/right_panel/_BaseCard.pcss";
@import "./views/right_panel/_EmptyState.pcss";
@import "./views/right_panel/_EncryptionInfo.pcss";
@import "./views/right_panel/_ExtendedProfileView.pcss";
@import "./views/right_panel/_ExtensionsCard.pcss";
@import "./views/right_panel/_PinnedMessagesCard.pcss";
@import "./views/right_panel/_RoomSummaryCard.pcss";
@@ -304,7 +303,6 @@
@import "./views/rooms/wysiwyg_composer/components/_FormattingButtons.pcss";
@import "./views/rooms/wysiwyg_composer/components/_LinkModal.pcss";
@import "./views/settings/_AvatarSetting.pcss";
@import "./views/settings/_ExtendedProfileSettings.pcss";
@import "./views/settings/_FontScalingPanel.pcss";
@import "./views/settings/_ImageSizePanel.pcss";
@import "./views/settings/_IntegrationManager.pcss";
@@ -1,79 +0,0 @@
/*
Copyright 2025 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_ExtendedProfileView {
/* Anpassung an das bestehende UserInfo Panel */
font-size: var(--cpd-font-size-body-sm);
padding: 0;
/* Styling für das Accordion */
.mx_ExtendedProfileView_accordion {
width: 100%;
}
/* Abstand zwischen den Feldern */
.mx_ExtendedProfileView_content {
padding: var(--cpd-space-2x) 0;
display: flex;
flex-direction: column;
gap: var(--cpd-space-4x);
}
/* Styling für die Felder */
.mx_ExtendedProfileView_field {
margin-bottom: var(--cpd-space-2x);
.mx_ExtendedProfileView_icon {
width: 20px;
height: 20px;
color: var(--cpd-color-icon-secondary);
flex-shrink: 0;
}
}
/* Labels und Werte */
.mx_ExtendedProfileView_label {
color: var(--cpd-color-text-secondary);
font-size: var(--cpd-font-size-body-xs);
margin-bottom: var(--cpd-space-1x);
}
.mx_ExtendedProfileView_value {
color: var(--cpd-color-text-primary);
word-break: break-word;
&.mx_ExtendedProfileView_multiline {
white-space: pre-line;
margin-top: var(--cpd-space-1x);
}
}
/* Spezielle Styles für Website-Links */
.mx_ExtendedProfileView_link {
color: var(--cpd-color-text-action-accent);
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
/* Für Bereich "Weitere Informationen" */
.mx_ExtendedProfileView_further_info {
padding: var(--cpd-space-1x) 0;
}
/* Loading State */
.mx_ExtendedProfileView_loading {
padding: var(--cpd-space-4x) 0;
}
/* Error State */
.mx_ExtendedProfileView_error {
margin: var(--cpd-space-2x) 0;
}
}
@@ -1,76 +0,0 @@
.mx_ExtendedProfileSettings {
margin-top: 24px;
margin-bottom: 16px;
}
.mx_ExtendedProfileSettings h3 {
font-size: 16px;
font-weight: 600;
margin-top: 0;
margin-bottom: 16px;
}
.mx_ExtendedProfileSettings_fields {
display: flex;
flex-direction: column;
gap: 16px;
}
.mx_ExtendedProfileSettings_field {
width: 100%;
margin-bottom: 20px;
}
.mx_ExtendedProfileSettings_fieldsRow {
display: flex;
gap: 16px;
margin-bottom: 20px;
.mx_ExtendedProfileSettings_field {
flex: 1;
margin-bottom: 0;
}
}
/* Business contact field specific layouts */
.mx_ExtendedProfileSettings_address_row {
.mx_ExtendedProfileSettings_field_business_street {
flex: 1;
}
.mx_ExtendedProfileSettings_field_business_street_nr {
flex: 1;
}
}
.mx_ExtendedProfileSettings_postal_row {
.mx_ExtendedProfileSettings_field_business_plz {
flex: 1;
}
.mx_ExtendedProfileSettings_field_business_city {
flex: 1;
}
}
.mx_ExtendedProfileSettings_contact_row {
.mx_ExtendedProfileSettings_field_business_email {
flex: 1;
}
.mx_ExtendedProfileSettings_field_business_tel {
flex: 1;
}
}
.mx_ExtendedProfileSettings_buttons {
display: flex;
gap: 8px;
justify-content: flex-end;
margin-top: 8px;
}
.mx_ExtendedProfileSettings_multiline textarea {
min-height: 200px;
resize: vertical;
}