Skip to content

Commit 72320ad

Browse files
authored
Merge pull request #359 from eliottwantz/bug/safe-mode-silent-icon
fix: always show safe mode badge including silent level
2 parents 9dc6597 + a6bf299 commit 72320ad

File tree

3 files changed

+30
-35
lines changed

3 files changed

+30
-35
lines changed

TablePro/Models/Connection/ConnectionToolbarState.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,7 @@ final class ConnectionToolbarState {
213213
parts.append(String(localized: "Replication lag: \(lag)s"))
214214
}
215215

216-
if safeModeLevel != .silent {
217-
parts.append(safeModeLevel.displayName)
218-
}
216+
parts.append(safeModeLevel.displayName)
219217

220218
return parts.joined(separator: "")
221219
}

TablePro/Views/Toolbar/ConnectionStatusView.swift

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,11 @@ struct ConnectionStatusView: View {
7373
.font(.system(size: 13))
7474
.foregroundStyle(ThemeEngine.shared.colors.toolbar.secondaryTextSwiftUI)
7575
.overlay(alignment: .bottomTrailing) {
76-
if safeModeLevel != .silent {
77-
Image(systemName: safeModeLevel.iconName)
78-
.font(.system(size: 7, weight: .bold))
79-
.foregroundStyle(safeModeLevel.badgeColor)
80-
.offset(x: 3, y: 2)
81-
.help(safeModeLevel.displayName)
82-
}
76+
Image(systemName: safeModeLevel.iconName)
77+
.font(.system(size: 7, weight: .bold))
78+
.foregroundStyle(safeModeLevel.badgeColor)
79+
.offset(x: 3, y: 2)
80+
.help(safeModeLevel.displayName)
8381
}
8482

8583
Text(databaseName)

TablePro/Views/Toolbar/SafeModeBadgeView.swift

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,36 +10,34 @@ struct SafeModeBadgeView: View {
1010
@State private var showPopover = false
1111

1212
var body: some View {
13-
if safeModeLevel != .silent {
14-
Button {
15-
showPopover.toggle()
16-
} label: {
17-
HStack(spacing: 4) {
18-
Image(systemName: safeModeLevel.iconName)
19-
.font(.system(size: 12, weight: .medium))
20-
.foregroundStyle(safeModeLevel.badgeColor)
21-
}
13+
Button {
14+
showPopover.toggle()
15+
} label: {
16+
HStack(spacing: 4) {
17+
Image(systemName: safeModeLevel.iconName)
18+
.font(.system(size: 12, weight: .medium))
19+
.foregroundStyle(safeModeLevel.badgeColor)
2220
}
23-
.buttonStyle(.plain)
24-
.help(String(localized: "Safe Mode: \(safeModeLevel.displayName)"))
25-
.popover(isPresented: $showPopover) {
26-
VStack(alignment: .leading, spacing: 8) {
27-
Text("Safe Mode")
28-
.font(.headline)
29-
.padding(.bottom, 4)
21+
}
22+
.buttonStyle(.plain)
23+
.help(String(localized: "Safe Mode: \(safeModeLevel.displayName)"))
24+
.popover(isPresented: $showPopover) {
25+
VStack(alignment: .leading, spacing: 8) {
26+
Text("Safe Mode")
27+
.font(.headline)
28+
.padding(.bottom, 4)
3029

31-
Picker("", selection: $safeModeLevel) {
32-
ForEach(SafeModeLevel.allCases) { level in
33-
Label(level.displayName, systemImage: level.iconName)
34-
.tag(level)
35-
}
30+
Picker("", selection: $safeModeLevel) {
31+
ForEach(SafeModeLevel.allCases) { level in
32+
Label(level.displayName, systemImage: level.iconName)
33+
.tag(level)
3634
}
37-
.pickerStyle(.radioGroup)
38-
.labelsHidden()
3935
}
40-
.padding()
41-
.frame(width: 200)
36+
.pickerStyle(.radioGroup)
37+
.labelsHidden()
4238
}
39+
.padding()
40+
.frame(width: 200)
4341
}
4442
}
4543
}
@@ -48,6 +46,7 @@ struct SafeModeBadgeView: View {
4846

4947
#Preview("Safe Mode Badges") {
5048
VStack(spacing: 12) {
49+
SafeModeBadgeView(safeModeLevel: .constant(.silent))
5150
SafeModeBadgeView(safeModeLevel: .constant(.alert))
5251
SafeModeBadgeView(safeModeLevel: .constant(.safeMode))
5352
SafeModeBadgeView(safeModeLevel: .constant(.readOnly))

0 commit comments

Comments
 (0)