mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Use more Compound icons (part 2!) (#2082)
* Use Compound icons in ListRow. * Add CompoundIcon(asset:) convenience initialiser.
This commit is contained in:
+1
-2
@@ -31,8 +31,7 @@ struct AnalyticsSettingsScreen: View {
|
||||
|
||||
var analyticsSection: some View {
|
||||
Section {
|
||||
ListRow(label: .default(title: L10n.screenAnalyticsSettingsShareData,
|
||||
systemIcon: .chartBar),
|
||||
ListRow(label: .plain(title: L10n.screenAnalyticsSettingsShareData),
|
||||
kind: .toggle($context.enableAnalytics))
|
||||
.onChange(of: context.enableAnalytics) { _ in
|
||||
context.send(viewAction: .toggleAnalytics)
|
||||
|
||||
+3
-4
@@ -23,15 +23,14 @@ struct AdvancedSettingsScreen: View {
|
||||
var body: some View {
|
||||
Form {
|
||||
Section {
|
||||
ListRow(label: .default(title: L10n.commonMessageLayout,
|
||||
systemIcon: .rectangleGrid1x2),
|
||||
ListRow(label: .plain(title: L10n.commonMessageLayout),
|
||||
kind: .picker(selection: $context.timelineStyle,
|
||||
items: TimelineStyle.allCases.map { (title: $0.name, tag: $0) }))
|
||||
|
||||
ListRow(label: .default(title: L10n.commonRichTextEditor, icon: Image(asset: Asset.Images.textFormat)),
|
||||
ListRow(label: .plain(title: L10n.commonRichTextEditor),
|
||||
kind: .toggle($context.richTextEditorEnabled))
|
||||
|
||||
ListRow(label: .default(title: L10n.actionViewSource, systemIcon: .mailAndTextMagnifyingglass),
|
||||
ListRow(label: .plain(title: L10n.actionViewSource),
|
||||
kind: .toggle($context.viewSourceEnabled))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ struct SettingsScreen: View {
|
||||
Section {
|
||||
if !context.viewState.isSessionVerified {
|
||||
ListRow(label: .default(title: L10n.actionCompleteVerification,
|
||||
systemIcon: .checkmarkShield),
|
||||
icon: \.checkCircle),
|
||||
kind: .button { context.send(viewAction: .sessionVerification) })
|
||||
} else if context.viewState.chatBackupEnabled {
|
||||
ListRow(label: .default(title: L10n.commonChatBackup,
|
||||
@@ -104,7 +104,8 @@ struct SettingsScreen: View {
|
||||
private var mainSection: some View {
|
||||
Section {
|
||||
if context.viewState.accountProfileURL != nil {
|
||||
ListRow(label: .default(title: L10n.actionManageAccount, systemIcon: .person),
|
||||
ListRow(label: .default(title: L10n.actionManageAccount,
|
||||
icon: \.userProfile),
|
||||
kind: .button {
|
||||
context.send(viewAction: .accountProfile)
|
||||
})
|
||||
@@ -112,35 +113,35 @@ struct SettingsScreen: View {
|
||||
}
|
||||
|
||||
ListRow(label: .default(title: L10n.screenNotificationSettingsTitle,
|
||||
systemIcon: .bell),
|
||||
icon: \.notifications),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .notifications)
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.settingsScreen.notifications)
|
||||
|
||||
ListRow(label: .default(title: L10n.commonAnalytics,
|
||||
systemIcon: .chartBar),
|
||||
icon: \.polls),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .analytics)
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.settingsScreen.analytics)
|
||||
|
||||
ListRow(label: .default(title: L10n.commonScreenLock,
|
||||
systemIcon: .lock),
|
||||
icon: CompoundIcon(asset: Asset.Images.lock)),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .appLock)
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.settingsScreen.screenLock)
|
||||
|
||||
ListRow(label: .default(title: L10n.commonReportAProblem,
|
||||
systemIcon: .ladybug),
|
||||
icon: \.chatProblem),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .reportBug)
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.settingsScreen.reportBug)
|
||||
|
||||
ListRow(label: .default(title: L10n.commonAbout,
|
||||
systemIcon: .questionmarkCircle),
|
||||
icon: \.info),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .about)
|
||||
})
|
||||
@@ -150,27 +151,18 @@ struct SettingsScreen: View {
|
||||
|
||||
private var manageSessionsSection: some View {
|
||||
Section {
|
||||
ListRow(label: .default(title: L10n.actionManageDevices, systemIcon: deviceIcon),
|
||||
ListRow(label: .default(title: L10n.actionManageDevices,
|
||||
icon: CompoundIcon(asset: Asset.Images.devices)),
|
||||
kind: .button {
|
||||
context.send(viewAction: .accountSessionsList)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
private var deviceIcon: SFSymbol {
|
||||
if ProcessInfo.processInfo.isiOSAppOnMac {
|
||||
return .macbookAndIphone
|
||||
} else if UIDevice.current.userInterfaceIdiom == .pad {
|
||||
return .ipad
|
||||
} else {
|
||||
return .iphone
|
||||
}
|
||||
}
|
||||
|
||||
private var advancedOptionsSection: some View {
|
||||
Section {
|
||||
ListRow(label: .default(title: L10n.commonAdvancedSettings,
|
||||
systemIcon: .gearshape2),
|
||||
icon: \.settings),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .advancedSettings)
|
||||
})
|
||||
@@ -178,7 +170,7 @@ struct SettingsScreen: View {
|
||||
|
||||
if context.viewState.showDeveloperOptions {
|
||||
ListRow(label: .default(title: L10n.commonDeveloperOptions,
|
||||
systemIcon: .hammerCircle),
|
||||
icon: CompoundIcon(asset: Asset.Images.codeBlock)),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .developerOptions)
|
||||
})
|
||||
@@ -189,8 +181,9 @@ struct SettingsScreen: View {
|
||||
|
||||
private var signOutSection: some View {
|
||||
Section {
|
||||
ListRow(label: .default(title: L10n.screenSignoutPreferenceItem,
|
||||
systemIcon: .rectanglePortraitAndArrowRight),
|
||||
ListRow(label: .action(title: L10n.screenSignoutPreferenceItem,
|
||||
icon: CompoundIcon(asset: Asset.Images.signOut),
|
||||
role: .destructive),
|
||||
kind: .button {
|
||||
context.send(viewAction: .logout)
|
||||
})
|
||||
|
||||
+1
-1
@@ -89,7 +89,7 @@ struct UserDetailsEditScreen: View {
|
||||
}
|
||||
|
||||
private var avatarOverlayIcon: some View {
|
||||
CompoundIcon(customImage: Asset.Images.editing.swiftUIImage, size: .xSmall, relativeTo: .compound.bodyLG)
|
||||
CompoundIcon(asset: Asset.Images.editing, size: .xSmall, relativeTo: .compound.bodyLG)
|
||||
.foregroundColor(.white)
|
||||
.padding(4)
|
||||
.background {
|
||||
|
||||
Reference in New Issue
Block a user