diff --git a/Yattee/Models/Navigation/SidebarMainItem.swift b/Yattee/Models/Navigation/SidebarMainItem.swift index 3a9850d9..09968e95 100644 --- a/Yattee/Models/Navigation/SidebarMainItem.swift +++ b/Yattee/Models/Navigation/SidebarMainItem.swift @@ -110,6 +110,13 @@ enum SidebarMainItem: String, CaseIterable, Codable, Identifiable, Sendable { switch self { case .search, .home: return true + case .settings: + // tvOS has no other route to Settings, so hiding it would lock the user out. + #if os(tvOS) + return true + #else + return false + #endif default: return false } diff --git a/Yattee/Views/Settings/SidebarSettingsView.swift b/Yattee/Views/Settings/SidebarSettingsView.swift index 59b5c76a..b10b306a 100644 --- a/Yattee/Views/Settings/SidebarSettingsView.swift +++ b/Yattee/Views/Settings/SidebarSettingsView.swift @@ -260,7 +260,7 @@ struct SidebarSettingsView: View { private func mainItemBinding(for item: SidebarMainItem) -> Binding { Binding( - get: { mainItemVisibility[item] ?? true }, + get: { item.isRequired || (mainItemVisibility[item] ?? true) }, set: { newValue in mainItemVisibility[item] = newValue saveMainNavigationSettings()