// // View+Extensions.swift // oAI // // SwiftUI view helpers and modifiers // import SwiftUI extension View { // MARK: - Conditional Modifiers @ViewBuilder func `if`(_ condition: Bool, transform: (Self) -> Transform) -> some View { if condition { transform(self) } else { self } } @ViewBuilder func ifLet(_ value: Value?, transform: (Self, Value) -> Transform) -> some View { if let value = value { transform(self, value) } else { self } } // MARK: - Platform-Specific Helpers #if os(macOS) func onCommandReturn(perform action: @escaping () -> Void) -> some View { self // Note: onKeyPress modifiers don't work in command-line Swift build // This will be implemented when running in actual Xcode project // For now, using keyboard shortcuts in toolbar instead } #endif // MARK: - Common Styling func oaiCardStyle() -> some View { self .background(Color.oaiSurface) .cornerRadius(8) .overlay( RoundedRectangle(cornerRadius: 8) .stroke(Color.oaiBorder, lineWidth: 1) ) } func oaiButton() -> some View { self .padding(.horizontal, 12) .padding(.vertical, 6) .background(Color.oaiSurface) .foregroundColor(.oaiPrimary) .cornerRadius(6) } func oaiTextField() -> some View { self .padding(8) .background(Color.oaiBackground) .cornerRadius(6) .overlay( RoundedRectangle(cornerRadius: 6) .stroke(Color.oaiBorder, lineWidth: 1) ) } } // MARK: - Frame Helpers extension View { func frame(square size: CGFloat) -> some View { self.frame(width: size, height: size) } }