import SwiftUI import UIKit // MARK: - Global tvOS Compatibility #if os(tvOS) // Add missing system colors for tvOS extension UIColor { static var systemBackground: UIColor { return UIColor.black } static var secondarySystemBackground: UIColor { return UIColor.gray.withAlphaComponent(0.1) } static var systemGray6: UIColor { return UIColor.gray.withAlphaComponent(0.2) } } // Dummy UIActivityViewController for tvOS class UIActivityViewController: UIViewController { convenience init(activityItems: [Any], applicationActivities: [UIActivity]?) { self.init() } } // Add missing NavigationBarItem types extension NavigationBarItem { enum TitleDisplayMode { case automatic case inline case large } } #endif // MARK: - SwiftUI Extensions extension Color { static var systemBackground: Color { #if os(iOS) return Color(.systemBackground) #else return Color.black #endif } static var secondarySystemBackground: Color { #if os(iOS) return Color(.secondarySystemBackground) #else return Color.secondary.opacity(0.1) #endif } static var systemGray6: Color { #if os(iOS) return Color(.systemGray6) #else return Color.gray.opacity(0.2) #endif } } // MARK: - View Extensions for tvOS Compatibility extension View { func navigationBarTitleDisplayMode(_ mode: NavigationBarItem.TitleDisplayMode) -> some View { #if os(iOS) return self.navigationBarTitleDisplayMode(mode) #else return self #endif } func navigationBarBackButtonHidden(_ hidden: Bool) -> some View { #if os(iOS) return self.navigationBarBackButtonHidden(hidden) #else return self #endif } func listRowSeparator(_ visibility: Visibility, edges: VerticalEdge.Set = .all) -> some View { #if os(iOS) return self.listRowSeparator(visibility, edges: edges) #else return self #endif } }