From f0435d5769136b8aa5aac7b8c712533169d8d247 Mon Sep 17 00:00:00 2001 From: Preston Booth Date: Fri, 23 Oct 2026 13:37:30 -0600 Subject: [PATCH] feat(mosaic): add a lock icon to the password row in the user profile Co-Authored-By: Claude Sonnet 5.5 --- .changeset/lock-password-row.md | 2 ++ .../user-profile-password-row.view.tsx | 2 ++ .../user-profile/user-profile-security-icon.tsx | 11 ++++++++++- 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 .changeset/lock-password-row.md diff --git a/.changeset/lock-password-row.md b/.changeset/lock-password-row.md new file mode 100644 index 00000000000..a845151cc84 --- /dev/null +++ b/.changeset/lock-password-row.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/packages/mosaic/src/features/user-profile/user-profile-password-section/user-profile-password-row.view.tsx b/packages/mosaic/src/features/user-profile/user-profile-password-section/user-profile-password-row.view.tsx index 48dd013ffd8..024629edbe8 100644 --- a/packages/mosaic/src/features/user-profile/user-profile-password-section/user-profile-password-row.view.tsx +++ b/packages/mosaic/src/features/user-profile/user-profile-password-section/user-profile-password-row.view.tsx @@ -1,6 +1,7 @@ import { Section } from '../../../components/section'; import { fill, useMessages } from '../../../localization'; import { UserProfileManagedByLabel } from '../user-profile-managed-by'; +import { UserProfileSecurityIcon } from '../user-profile-security-icon'; import type { UserProfilePasswordSectionViewProps } from './user-profile-password-section.types'; export function UserProfilePasswordRowView({ @@ -12,6 +13,7 @@ export function UserProfilePasswordRowView({ return ( + {hasPassword ? m.masked : m.noPasswordSet} diff --git a/packages/mosaic/src/features/user-profile/user-profile-security-icon.tsx b/packages/mosaic/src/features/user-profile/user-profile-security-icon.tsx index 7de7823e8cf..440d4ab9d44 100644 --- a/packages/mosaic/src/features/user-profile/user-profile-security-icon.tsx +++ b/packages/mosaic/src/features/user-profile/user-profile-security-icon.tsx @@ -2,12 +2,20 @@ import { Icon } from '../../components/icon'; import { Section } from '../../components/section'; import { DeviceLaptop } from '../../icons/glyphs/device-laptop'; import { DevicePhone } from '../../icons/glyphs/device-phone'; +import { Lock } from '../../icons/glyphs/lock'; import { SecurityLockSquare } from '../../icons/glyphs/security-lock-square'; import { SecurityPasskey } from '../../icons/glyphs/security-passkey'; import { SecurityPhone } from '../../icons/glyphs/security-phone'; import { styles } from './user-profile-security-panel.styles'; -export type UserProfileSecurityIconName = 'authenticator' | 'backup-codes' | 'desktop' | 'mobile' | 'passkey' | 'sms'; +export type UserProfileSecurityIconName = + | 'authenticator' + | 'backup-codes' + | 'desktop' + | 'mobile' + | 'passkey' + | 'password' + | 'sms'; const icons = { authenticator: SecurityLockSquare, @@ -15,6 +23,7 @@ const icons = { desktop: DeviceLaptop, mobile: DevicePhone, passkey: SecurityPasskey, + password: Lock, sms: SecurityPhone, } as const;