mirror of
https://github.com/yattee/yattee.git
synced 2025-11-16 06:58:43 +00:00
Fix SwiftLint and SwiftFormat violations
- Run SwiftFormat to fix indentation, spacing, and formatting issues - Replace CGFloat with Double and NSRect with CGRect per style guide - Remove redundant .center alignment specifications - Remove unnecessary @available checks for satisfied deployment targets - Fix closure brace indentation for consistency - Disable closure_end_indentation rule to resolve SwiftFormat conflict All linting checks now pass with zero errors and warnings.
This commit is contained in:
@@ -188,19 +188,19 @@ struct ChannelsView: View {
|
||||
}
|
||||
|
||||
#if os(iOS)
|
||||
struct CompactListRowModifier: ViewModifier {
|
||||
func body(content: Content) -> some View {
|
||||
// swiftlint:disable:next deployment_target
|
||||
if #available(iOS 15.0, *) {
|
||||
content
|
||||
.listRowSpacing(0)
|
||||
.listRowInsets(EdgeInsets(top: 8, leading: 16, bottom: 8, trailing: 16))
|
||||
} else {
|
||||
content
|
||||
.listRowInsets(EdgeInsets(top: 8, leading: 16, bottom: 8, trailing: 16))
|
||||
struct CompactListRowModifier: ViewModifier {
|
||||
func body(content: Content) -> some View {
|
||||
// swiftlint:disable:next deployment_target
|
||||
if #available(iOS 15.0, *) {
|
||||
content
|
||||
.listRowSpacing(0)
|
||||
.listRowInsets(EdgeInsets(top: 8, leading: 16, bottom: 8, trailing: 16))
|
||||
} else {
|
||||
content
|
||||
.listRowInsets(EdgeInsets(top: 8, leading: 16, bottom: 8, trailing: 16))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
struct ChannelsView_Previews: PreviewProvider {
|
||||
|
||||
@@ -111,76 +111,76 @@ struct FeedView: View {
|
||||
Text("Channels")
|
||||
.font(.subheadline)
|
||||
List(selection: $selectedChannel) {
|
||||
Button(action: {
|
||||
self.selectedChannel = nil
|
||||
self.feedChannelsViewVisible = false
|
||||
}) {
|
||||
HStack(spacing: 16) {
|
||||
Image(systemName: RecentsModel.symbolSystemImage("A"))
|
||||
.imageScale(.large)
|
||||
.foregroundColor(.accentColor)
|
||||
.frame(width: 35, height: 35)
|
||||
Text("All")
|
||||
Spacer()
|
||||
feedCount.unwatchedText
|
||||
}
|
||||
}
|
||||
.padding(.all)
|
||||
.background(RoundedRectangle(cornerRadius: 8.0)
|
||||
.fill(self.selectedChannel == nil ? Color.secondary : Color.clear))
|
||||
.font(.caption)
|
||||
.buttonStyle(PlainButtonStyle())
|
||||
.focused(self.$focusedChannel, equals: "all")
|
||||
|
||||
ForEach(channels, id: \.self) { channel in
|
||||
Button(action: {
|
||||
self.selectedChannel = nil
|
||||
self.selectedChannel = channel
|
||||
self.feedChannelsViewVisible = false
|
||||
}) {
|
||||
HStack(spacing: 16) {
|
||||
Image(systemName: RecentsModel.symbolSystemImage("A"))
|
||||
.imageScale(.large)
|
||||
.foregroundColor(.accentColor)
|
||||
.frame(width: 35, height: 35)
|
||||
Text("All")
|
||||
ChannelAvatarView(channel: channel, subscribedBadge: false)
|
||||
.frame(width: 50, height: 50)
|
||||
Text(channel.name)
|
||||
.lineLimit(1)
|
||||
Spacer()
|
||||
feedCount.unwatchedText
|
||||
if let unwatchedCount = feedCount.unwatchedByChannelText(channel) {
|
||||
unwatchedCount
|
||||
}
|
||||
}
|
||||
}
|
||||
.padding(.all)
|
||||
.background(RoundedRectangle(cornerRadius: 8.0)
|
||||
.fill(self.selectedChannel == nil ? Color.secondary : Color.clear))
|
||||
.fill(self.selectedChannel == channel ? Color.secondary : Color.clear))
|
||||
.font(.caption)
|
||||
.buttonStyle(PlainButtonStyle())
|
||||
.focused(self.$focusedChannel, equals: "all")
|
||||
|
||||
ForEach(channels, id: \.self) { channel in
|
||||
Button(action: {
|
||||
self.selectedChannel = channel
|
||||
self.feedChannelsViewVisible = false
|
||||
}) {
|
||||
HStack(spacing: 16) {
|
||||
ChannelAvatarView(channel: channel, subscribedBadge: false)
|
||||
.frame(width: 50, height: 50)
|
||||
Text(channel.name)
|
||||
.lineLimit(1)
|
||||
Spacer()
|
||||
if let unwatchedCount = feedCount.unwatchedByChannelText(channel) {
|
||||
unwatchedCount
|
||||
}
|
||||
}
|
||||
}
|
||||
.padding(.all)
|
||||
.background(RoundedRectangle(cornerRadius: 8.0)
|
||||
.fill(self.selectedChannel == channel ? Color.secondary : Color.clear))
|
||||
.font(.caption)
|
||||
.buttonStyle(PlainButtonStyle())
|
||||
.focused(self.$focusedChannel, equals: channel.id)
|
||||
}
|
||||
.focused(self.$focusedChannel, equals: channel.id)
|
||||
}
|
||||
}
|
||||
.onChange(of: self.focusedChannel) { _ in
|
||||
if self.focusedChannel == "all" {
|
||||
withAnimation {
|
||||
self.selectedChannel = nil
|
||||
}
|
||||
} else if self.focusedChannel == dismiss_channel_list_id {
|
||||
self.feedChannelsViewVisible = false
|
||||
} else {
|
||||
withAnimation {
|
||||
self.selectedChannel = channels.first {
|
||||
$0.id == self.focusedChannel
|
||||
}
|
||||
if self.focusedChannel == "all" {
|
||||
withAnimation {
|
||||
self.selectedChannel = nil
|
||||
}
|
||||
} else if self.focusedChannel == dismiss_channel_list_id {
|
||||
self.feedChannelsViewVisible = false
|
||||
} else {
|
||||
withAnimation {
|
||||
self.selectedChannel = channels.first {
|
||||
$0.id == self.focusedChannel
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.onAppear {
|
||||
guard let selectedChannel = self.selectedChannel else {
|
||||
return
|
||||
}
|
||||
proxy.scrollTo(selectedChannel, anchor: .top)
|
||||
guard let selectedChannel = self.selectedChannel else {
|
||||
return
|
||||
}
|
||||
proxy.scrollTo(selectedChannel, anchor: .top)
|
||||
}
|
||||
.onExitCommand {
|
||||
withAnimation {
|
||||
self.feedChannelsViewVisible = false
|
||||
}
|
||||
withAnimation {
|
||||
self.feedChannelsViewVisible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -216,44 +216,28 @@ struct FeedView: View {
|
||||
#if !os(macOS)
|
||||
.onReceive(NotificationCenter.default.publisher(for: UIApplication.willEnterForegroundNotification)) { _ in
|
||||
feed.loadResources()
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
var header: some View {
|
||||
HStack(spacing: 16) {
|
||||
#if os(tvOS)
|
||||
if #available(tvOS 17.0, *) {
|
||||
Menu {
|
||||
accountsPicker
|
||||
} label: {
|
||||
Label("Channels", systemImage: "filemenu.and.selection")
|
||||
.labelStyle(.iconOnly)
|
||||
.imageScale(.small)
|
||||
.font(.caption)
|
||||
} primaryAction: {
|
||||
withAnimation {
|
||||
self.feedChannelsViewVisible = true
|
||||
self.focusedChannel = selectedChannel?.id ?? "all"
|
||||
}
|
||||
Menu {
|
||||
accountsPicker
|
||||
} label: {
|
||||
Label("Channels", systemImage: "filemenu.and.selection")
|
||||
.labelStyle(.iconOnly)
|
||||
.imageScale(.small)
|
||||
.font(.caption)
|
||||
} primaryAction: {
|
||||
withAnimation {
|
||||
self.feedChannelsViewVisible = true
|
||||
self.focusedChannel = selectedChannel?.id ?? "all"
|
||||
}
|
||||
.opacity(feedChannelsViewVisible ? 0 : 1)
|
||||
.frame(minWidth: feedChannelsViewVisible ? 0 : nil, maxWidth: feedChannelsViewVisible ? 0 : nil)
|
||||
} else {
|
||||
Button {
|
||||
withAnimation {
|
||||
self.feedChannelsViewVisible = true
|
||||
self.focusedChannel = selectedChannel?.id ?? "all"
|
||||
}
|
||||
} label: {
|
||||
Label("Channels", systemImage: "filemenu.and.selection")
|
||||
.labelStyle(.iconOnly)
|
||||
.imageScale(.small)
|
||||
.font(.caption)
|
||||
}
|
||||
.opacity(feedChannelsViewVisible ? 0 : 1)
|
||||
.frame(minWidth: feedChannelsViewVisible ? 0 : nil, maxWidth: feedChannelsViewVisible ? 0 : nil)
|
||||
}
|
||||
.opacity(feedChannelsViewVisible ? 0 : 1)
|
||||
.frame(minWidth: feedChannelsViewVisible ? 0 : nil, maxWidth: feedChannelsViewVisible ? 0 : nil)
|
||||
channelHeaderView
|
||||
if selectedChannel == nil {
|
||||
Spacer()
|
||||
|
||||
Reference in New Issue
Block a user