diff --git a/Features/Backup/AppMenuView.swift b/Features/Backup/AppMenuView.swift index 57170c0..67a4c32 100644 --- a/Features/Backup/AppMenuView.swift +++ b/Features/Backup/AppMenuView.swift @@ -193,6 +193,31 @@ struct AppMenuView: View { .padding(.horizontal, AppTheme.cardPad) .padding(.vertical, 14) + menuHairline + + // Cellular row + HStack(spacing: 12) { + iconBadge("antenna.radiowaves.left.and.right", color: lanMonitor.isOnCellular ? Color(red: 1.0, green: 0.58, blue: 0.0) : AppTheme.inkSecondary) + + VStack(alignment: .leading, spacing: 2) { + Text("Cellular") + .font(AppTheme.body()) + .foregroundStyle(AppTheme.ink) + Text(lanMonitor.isOnCellular ? "Active" : "Not in use") + .font(AppTheme.micro()) + .foregroundStyle(AppTheme.inkTertiary) + } + + Spacer() + + statusBadge( + label: lanMonitor.isOnCellular ? "Active" : "Off", + color: lanMonitor.isOnCellular ? Color(red: 1.0, green: 0.58, blue: 0.0) : AppTheme.inkQuaternary + ) + } + .padding(.horizontal, AppTheme.cardPad) + .padding(.vertical, 14) + if lanMonitor.isTailscaleActive { menuHairline @@ -338,13 +363,13 @@ struct AppMenuView: View { HStack { menuSectionLabel("ERRORS") Spacer() - if !engine.job.status.isActive { + if !errorEntries.isEmpty { Button { - retryBackup() + store.clearErrorHistory() } label: { - Label("Retry Failed", systemImage: "arrow.clockwise") + Label("Clear Errors", systemImage: "trash") .font(.system(size: 11, weight: .medium)) - .foregroundStyle(AppTheme.interactive) + .foregroundStyle(AppTheme.destructive) } } }