Fix all SwiftLint violations across codebase

Resolves 130+ violations including deployment target checks, code style issues, and formatting inconsistencies. Adds SwiftLint disable comments for compiler-required availability checks while maintaining deployment target compliance.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Arkadiusz Fal
2025-11-09 17:56:15 +01:00
parent 4840c9a05f
commit be4e1adb9b
58 changed files with 257 additions and 303 deletions

View File

@@ -350,9 +350,9 @@ extension View {
self
}
}
@ViewBuilder
func applyControlsBackground(enabled: Bool, cornerRadius: CGFloat) -> some View {
func applyControlsBackground(enabled: Bool, cornerRadius: Double) -> some View {
if enabled {
if #available(iOS 26.0, macOS 26.0, tvOS 26.0, *) {
// Use Liquid Glass on iOS 26+
@@ -360,29 +360,30 @@ extension View {
.regular.interactive(),
in: .rect(cornerRadius: cornerRadius)
)
} else if #available(iOS 15.0, macOS 12.0, tvOS 15.0, *) {
// Fallback to ultraThinMaterial for iOS 15+
self
.background(
RoundedRectangle(cornerRadius: cornerRadius)
.fill(.ultraThinMaterial)
)
.overlay(
RoundedRectangle(cornerRadius: cornerRadius)
.stroke(Color("ControlsBorderColor"), lineWidth: 0.5)
)
} else {
// Fallback for iOS 14 and earlier
self
.background(
RoundedRectangle(cornerRadius: cornerRadius)
.fill(Color.black.opacity(0.3))
.blur(radius: 10)
)
.overlay(
RoundedRectangle(cornerRadius: cornerRadius)
.stroke(Color("ControlsBorderColor"), lineWidth: 0.5)
)
// Fallback to ultraThinMaterial
// swiftlint:disable:next deployment_target
if #available(iOS 15.0, macOS 12.0, tvOS 15.0, *) {
self
.background(
RoundedRectangle(cornerRadius: cornerRadius)
.fill(.ultraThinMaterial)
)
.overlay(
RoundedRectangle(cornerRadius: cornerRadius)
.stroke(Color("ControlsBorderColor"), lineWidth: 0.5)
)
} else {
self
.background(
RoundedRectangle(cornerRadius: cornerRadius)
.fill(Color.gray.opacity(0.3))
)
.overlay(
RoundedRectangle(cornerRadius: cornerRadius)
.stroke(Color("ControlsBorderColor"), lineWidth: 0.5)
)
}
}
} else {
self.background(Color.clear)

View File

@@ -21,6 +21,7 @@ struct OpenSettingsButton: View {
}
.buttonStyle(.plain)
// swiftlint:disable:next deployment_target
if #available(iOS 15.0, macOS 12.0, tvOS 15.0, *) {
button
.buttonStyle(.borderedProminent)

View File

@@ -48,11 +48,12 @@ struct PopularView: View {
}
.navigationBarTitleDisplayMode(.inline)
.refreshControl { refreshControl in
resource?.load().onCompletion { _ in
refreshControl.endRefreshing()
}
.onFailure { self.error = $0 }
.onSuccess { _ in self.error = nil }
resource?.load()
.onCompletion { _ in
refreshControl.endRefreshing()
}
.onFailure { self.error = $0 }
.onSuccess { _ in self.error = nil }
}
.backport
.refreshable {
@@ -80,10 +81,10 @@ struct PopularView: View {
}
#else
.onReceive(NotificationCenter.default.publisher(for: UIApplication.willEnterForegroundNotification)) { _ in
resource?.loadIfNeeded()?
.onFailure { self.error = $0 }
.onSuccess { _ in self.error = nil }
}
resource?.loadIfNeeded()?
.onFailure { self.error = $0 }
.onSuccess { _ in self.error = nil }
}
#endif
}

View File

@@ -309,7 +309,8 @@ struct VideoContextMenuView: View {
let label = Label("Remove…", systemImage: "trash.fill")
.foregroundColor(Color("AppRedColor"))
if #available(iOS 15, macOS 12, *) {
// swiftlint:disable:next deployment_target
if #available(iOS 15.0, macOS 12.0, tvOS 15.0, *) {
Button(role: .destructive, action: action) { label }
} else {
Button(action: action) { label }