From 29386d74d69941f971498e8f523024db0f6c0840 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Sun, 19 Jul 2020 18:20:05 -0500 Subject: [PATCH] Make selected indicator white --- Multiplatform/Shared/AppAssets.swift | 4 ++++ .../Shared/Timeline/TimelineItemStatusView.swift | 16 ++++++++++++---- .../Shared/Timeline/TimelineItemView.swift | 3 ++- Multiplatform/Shared/Timeline/TimelineView.swift | 3 ++- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/Multiplatform/Shared/AppAssets.swift b/Multiplatform/Shared/AppAssets.swift index b84d713c7..a29baf30c 100644 --- a/Multiplatform/Shared/AppAssets.swift +++ b/Multiplatform/Shared/AppAssets.swift @@ -268,6 +268,10 @@ struct AppAssets { #endif } + static var timelineUnreadSelected: Image { + return Image(systemName: "circle.fill") + } + static var todayFeedImage: IconImage = { #if os(macOS) let image = NSImage(systemSymbolName: "sun.max.fill", accessibilityDescription: nil)! diff --git a/Multiplatform/Shared/Timeline/TimelineItemStatusView.swift b/Multiplatform/Shared/Timeline/TimelineItemStatusView.swift index 8fb3b10f6..aae80f9b7 100644 --- a/Multiplatform/Shared/Timeline/TimelineItemStatusView.swift +++ b/Multiplatform/Shared/Timeline/TimelineItemStatusView.swift @@ -10,6 +10,7 @@ import SwiftUI struct TimelineItemStatusView: View { + var selected: Bool var status: TimelineItemStatus @ViewBuilder var statusView: some View { @@ -17,10 +18,17 @@ struct TimelineItemStatusView: View { Spacer().frame(width: 12) switch status { case .showUnread: - AppAssets.timelineUnread - .resizable() - .frame(width: 8, height: 8, alignment: .center) - .padding(.all, 2) + if selected { + AppAssets.timelineUnreadSelected + .resizable() + .frame(width: 8, height: 8, alignment: .center) + .padding(.all, 2) + } else { + AppAssets.timelineUnread + .resizable() + .frame(width: 8, height: 8, alignment: .center) + .padding(.all, 2) + } case .showStar: AppAssets.timelineStarred .resizable() diff --git a/Multiplatform/Shared/Timeline/TimelineItemView.swift b/Multiplatform/Shared/Timeline/TimelineItemView.swift index f481846b3..f41e3762b 100644 --- a/Multiplatform/Shared/Timeline/TimelineItemView.swift +++ b/Multiplatform/Shared/Timeline/TimelineItemView.swift @@ -13,6 +13,7 @@ struct TimelineItemView: View { @EnvironmentObject var defaults: AppDefaults @StateObject var articleIconImageLoader = ArticleIconImageLoader() + var selected: Bool var width: CGFloat var timelineItem: TimelineItem @@ -25,7 +26,7 @@ struct TimelineItemView: View { var body: some View { HStack(alignment: .top) { - TimelineItemStatusView(status: timelineItem.status) + TimelineItemStatusView(selected: selected, status: timelineItem.status) if let image = articleIconImageLoader.image { IconImageView(iconImage: image) .frame(width: CGFloat(defaults.timelineIconDimensions), height: CGFloat(defaults.timelineIconDimensions), alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/) diff --git a/Multiplatform/Shared/Timeline/TimelineView.swift b/Multiplatform/Shared/Timeline/TimelineView.swift index 1fbe4f4b1..14ea43749 100644 --- a/Multiplatform/Shared/Timeline/TimelineView.swift +++ b/Multiplatform/Shared/Timeline/TimelineView.swift @@ -41,7 +41,8 @@ struct TimelineView: View { EmptyView() }.hidden() List(timelineModel.timelineItems, selection: $timelineModel.selectedArticleIDs) { timelineItem in - TimelineItemView(width: proxy.size.width, timelineItem: timelineItem) + let selected = timelineModel.selectedArticleIDs.contains(timelineItem.article.articleID) + TimelineItemView(selected: selected, width: proxy.size.width, timelineItem: timelineItem) } } }