From c9317547f801a9a1c3576fc0d2eacf9ba139c9fb Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Mon, 25 May 2026 20:31:42 +0300 Subject: [PATCH] Replace plain SF Symbols with Compound counterparts --- .../Sources/Other/MapLibre/MapLibreStaticMapView.swift | 3 ++- .../HomeScreen/View/Filters/RoomListFiltersView.swift | 7 ++++--- .../HomeScreen/View/HomeScreenNewSoundBanner.swift | 3 +-- .../View/HomeScreenRecoveryKeyConfirmationBanner.swift | 3 +-- .../View/RoomChangeRolesScreenSelectedItem.swift | 9 ++++----- .../TimelineItemViews/CollapsibleRoomTimelineView.swift | 5 +++-- .../View/TimelineItemViews/VideoRoomTimelineView.swift | 4 +--- 7 files changed, 16 insertions(+), 18 deletions(-) diff --git a/ElementX/Sources/Other/MapLibre/MapLibreStaticMapView.swift b/ElementX/Sources/Other/MapLibre/MapLibreStaticMapView.swift index 82a7de44b..87af02a16 100644 --- a/ElementX/Sources/Other/MapLibre/MapLibreStaticMapView.swift +++ b/ElementX/Sources/Other/MapLibre/MapLibreStaticMapView.swift @@ -6,6 +6,7 @@ // Please see LICENSE files in the repository root for full details. // +import Compound import CoreLocation import SwiftUI @@ -92,7 +93,7 @@ struct MapLibreStaticMapView: View { placeholderImage .overlay { VStack(spacing: 0) { - Image(systemName: "arrow.clockwise") + CompoundIcon(\.restart) Text(L10n.actionStaticMapLoad) } } diff --git a/ElementX/Sources/Screens/HomeScreen/View/Filters/RoomListFiltersView.swift b/ElementX/Sources/Screens/HomeScreen/View/Filters/RoomListFiltersView.swift index bfcaeb5ba..85c20d68b 100644 --- a/ElementX/Sources/Screens/HomeScreen/View/Filters/RoomListFiltersView.swift +++ b/ElementX/Sources/Screens/HomeScreen/View/Filters/RoomListFiltersView.swift @@ -6,6 +6,7 @@ // Please see LICENSE files in the repository root for full details. // +import Compound import SwiftUI struct RoomListFiltersView: View { @@ -63,9 +64,9 @@ struct RoomListFiltersView: View { scrollViewProxy.scrollTo(leadingID, anchor: .leading) } }, label: { - Image(systemName: "xmark.circle.fill") - .font(.system(size: 24)) - .foregroundColor(.compound.bgActionPrimaryRest) + CompoundIcon(\.close, size: .small, relativeTo: .compound.bodyLG) + .foregroundColor(.compound.iconOnSolidPrimary) + .background(Circle().fill(Color.compound.bgActionPrimaryRest)) }) .accessibilityLabel(L10n.screenRoomlistClearFilters) } diff --git a/ElementX/Sources/Screens/HomeScreen/View/HomeScreenNewSoundBanner.swift b/ElementX/Sources/Screens/HomeScreen/View/HomeScreenNewSoundBanner.swift index 1a4fe847f..38acc92a6 100644 --- a/ElementX/Sources/Screens/HomeScreen/View/HomeScreenNewSoundBanner.swift +++ b/ElementX/Sources/Screens/HomeScreen/View/HomeScreenNewSoundBanner.swift @@ -32,9 +32,8 @@ struct HomeScreenNewSoundBanner: View { .frame(maxWidth: .infinity, alignment: .leading) Button(action: dismissAction) { - Image(systemName: "xmark") + CompoundIcon(\.close, size: .small, relativeTo: .compound.bodyMD) .foregroundColor(.compound.iconSecondary) - .frame(width: 12, height: 12) } } diff --git a/ElementX/Sources/Screens/HomeScreen/View/HomeScreenRecoveryKeyConfirmationBanner.swift b/ElementX/Sources/Screens/HomeScreen/View/HomeScreenRecoveryKeyConfirmationBanner.swift index fdf2ce95a..0e6fa25c6 100644 --- a/ElementX/Sources/Screens/HomeScreen/View/HomeScreenRecoveryKeyConfirmationBanner.swift +++ b/ElementX/Sources/Screens/HomeScreen/View/HomeScreenRecoveryKeyConfirmationBanner.swift @@ -66,9 +66,8 @@ struct HomeScreenRecoveryKeyConfirmationBanner: View { Button { context.send(viewAction: .skipRecoveryKeyConfirmation) } label: { - Image(systemName: "xmark") + CompoundIcon(\.close, size: .small, relativeTo: .compound.bodyMD) .foregroundColor(.compound.iconSecondary) - .frame(width: 12, height: 12) } } } diff --git a/ElementX/Sources/Screens/RoomChangeRolesScreen/View/RoomChangeRolesScreenSelectedItem.swift b/ElementX/Sources/Screens/RoomChangeRolesScreen/View/RoomChangeRolesScreenSelectedItem.swift index bde489788..2278ffdfc 100644 --- a/ElementX/Sources/Screens/RoomChangeRolesScreen/View/RoomChangeRolesScreenSelectedItem.swift +++ b/ElementX/Sources/Screens/RoomChangeRolesScreen/View/RoomChangeRolesScreenSelectedItem.swift @@ -6,6 +6,7 @@ // Please see LICENSE files in the repository root for full details. // +import Compound import SwiftUI struct RoomChangeRolesScreenSelectedItem: View { @@ -48,11 +49,9 @@ struct RoomChangeRolesScreenSelectedItem: View { .overlay(alignment: .topTrailing) { if let dismissAction { Button(action: dismissAction) { - Image(systemName: "xmark.circle.fill") - .resizable() - .scaledFrame(size: 20) - .symbolRenderingMode(.palette) - .foregroundStyle(Color.compound.iconOnSolidPrimary, Color.compound.iconPrimary) + CompoundIcon(\.close, size: .xSmall, relativeTo: .compound.bodyMD) + .foregroundColor(.compound.iconOnSolidPrimary) + .background(Circle().fill(Color.compound.iconPrimary)) } // We will use the accessibility action .accessibilityHidden(true) diff --git a/ElementX/Sources/Screens/Timeline/View/TimelineItemViews/CollapsibleRoomTimelineView.swift b/ElementX/Sources/Screens/Timeline/View/TimelineItemViews/CollapsibleRoomTimelineView.swift index 6fd1acc3b..e23e368eb 100644 --- a/ElementX/Sources/Screens/Timeline/View/TimelineItemViews/CollapsibleRoomTimelineView.swift +++ b/ElementX/Sources/Screens/Timeline/View/TimelineItemViews/CollapsibleRoomTimelineView.swift @@ -6,6 +6,7 @@ // Please see LICENSE files in the repository root for full details. // +import Compound import SwiftUI struct CollapsibleRoomTimelineView: View { @@ -38,12 +39,12 @@ struct CollapsibleRoomTimelineView: View { } label: { HStack(alignment: .center, spacing: 8) { Text(L10n.screenRoomTimelineStateChanges(timelineItem.items.count)) - Text(Image(systemName: "chevron.forward")) + .font(.compound.bodySM) + CompoundIcon(\.chevronRight, size: .small, relativeTo: .compound.bodySM) .accessibilityLabel(isExpanded ? L10n.screenRoomGroupedStateEventsReduce : L10n.screenRoomGroupedStateEventsExpand) .rotationEffect(.degrees(isExpanded ? 90 : 0)) .animation(.elementDefault, value: isExpanded) } - .font(.compound.bodySM) .foregroundColor(.compound.textSecondary) .padding(.horizontal, 36.0) .padding(.vertical, 12.0) diff --git a/ElementX/Sources/Screens/Timeline/View/TimelineItemViews/VideoRoomTimelineView.swift b/ElementX/Sources/Screens/Timeline/View/TimelineItemViews/VideoRoomTimelineView.swift index 9aa022c2f..3f3164bfa 100644 --- a/ElementX/Sources/Screens/Timeline/View/TimelineItemViews/VideoRoomTimelineView.swift +++ b/ElementX/Sources/Screens/Timeline/View/TimelineItemViews/VideoRoomTimelineView.swift @@ -63,9 +63,7 @@ struct VideoRoomTimelineView: View { } var playIcon: some View { - Image(systemName: "play.circle.fill") - .resizable() - .frame(width: 50, height: 50) + CompoundIcon(\.playSolid, size: .custom(50), relativeTo: .compound.headingLG) .background(.ultraThinMaterial, in: Circle()) .foregroundColor(.white) }