From 38593ed488c907fa6bc5911a95e25a2ed4d90dc2 Mon Sep 17 00:00:00 2001 From: Arkadiusz Fal Date: Sun, 11 Dec 2022 18:11:56 +0100 Subject: [PATCH] Show channel avatars in sidebar --- Shared/Navigation/AppSidebarSubscriptions.swift | 11 ++++++++++- Shared/Views/ChannelAvatarView.swift | 9 ++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Shared/Navigation/AppSidebarSubscriptions.swift b/Shared/Navigation/AppSidebarSubscriptions.swift index 7585017a..a5dabb91 100644 --- a/Shared/Navigation/AppSidebarSubscriptions.swift +++ b/Shared/Navigation/AppSidebarSubscriptions.swift @@ -11,7 +11,16 @@ struct AppSidebarSubscriptions: View { NavigationLink(tag: TabSelection.channel(channel.id), selection: $navigation.tabSelection) { LazyView(ChannelVideosView(channel: channel).modifier(PlayerOverlayModifier())) } label: { - Label(channel.name, systemImage: RecentsModel.symbolSystemImage(channel.name)) + if channel.thumbnailURL != nil { + HStack { + ChannelAvatarView(channel: channel, subscribedBadge: false) + .frame(width: 20, height: 20) + + Text(channel.name) + } + } else { + Label(channel.name, systemImage: RecentsModel.symbolSystemImage(channel.name)) + } } .contextMenu { Button("Unsubscribe") { diff --git a/Shared/Views/ChannelAvatarView.swift b/Shared/Views/ChannelAvatarView.swift index b8fac617..61849f4b 100644 --- a/Shared/Views/ChannelAvatarView.swift +++ b/Shared/Views/ChannelAvatarView.swift @@ -4,6 +4,8 @@ struct ChannelAvatarView: View { var channel: Channel? var video: Video? + var subscribedBadge = true + @ObservedObject private var accounts = AccountsModel.shared @ObservedObject private var subscribedChannels = SubscribedChannelsModel.shared @@ -33,13 +35,18 @@ struct ChannelAvatarView: View { } .clipShape(Circle()) - if accounts.app.supportsSubscriptions, + if subscribedBadge, + accounts.app.supportsSubscriptions, accounts.signedIn, let channel, subscribedChannels.isSubscribing(channel.id) { Image(systemName: "star.circle.fill") + #if os(tvOS) .background(Color.black) + #else + .background(Color.background) + #endif .clipShape(Circle()) .foregroundColor(.secondary) }