From 8c1eddd68ba2dbd02cd50d32314d70d63a06fdfb Mon Sep 17 00:00:00 2001 From: Mathijs Bernson Date: Mon, 2 Nov 2026 19:15:32 +0100 Subject: [PATCH 1/2] Fix conference thumbnail fallback text colour --- HackerTube/Features/Conferences/ConferencesGrid.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/HackerTube/Features/Conferences/ConferencesGrid.swift b/HackerTube/Features/Conferences/ConferencesGrid.swift index f883527..c2b6586 100644 --- a/HackerTube/Features/Conferences/ConferencesGrid.swift +++ b/HackerTube/Features/Conferences/ConferencesGrid.swift @@ -61,6 +61,8 @@ private struct ConferencesGridRegular: View { ForEach(conferences) { conference in NavigationLink(value: Destination.conference(conference)) { ConferenceThumbnail(conference: conference) + // Contrasting foreground so the acronym fallback is visible on the `.primary` background + .foregroundStyle(.background) .background(.primary) .hoverEffect(.highlight) From b8f1b5426fb5fa66e4527170259c0cf6bba70fb4 Mon Sep 17 00:00:00 2001 From: Mathijs Bernson Date: Wed, 4 Nov 2026 11:00:13 +0100 Subject: [PATCH 2/2] Fix background of conference logos --- HackerTube/Features/Conferences/ConferenceCell.swift | 2 -- HackerTube/Features/Conferences/ConferenceThumbnail.swift | 5 +++++ HackerTube/Features/Conferences/ConferencesGrid.swift | 7 +++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/HackerTube/Features/Conferences/ConferenceCell.swift b/HackerTube/Features/Conferences/ConferenceCell.swift index 5ae7bff..8ff4005 100644 --- a/HackerTube/Features/Conferences/ConferenceCell.swift +++ b/HackerTube/Features/Conferences/ConferenceCell.swift @@ -16,14 +16,12 @@ struct ConferenceCell: View { VStack { if #available(iOS 26.0, *) { ConferenceThumbnail(conference: conference) - .background(.background.secondary) .clipShape(ConcentricRectangle( corners: .concentric, isUniform: true )) } else { ConferenceThumbnail(conference: conference) - .background(.background.secondary) } Text(conference.title) diff --git a/HackerTube/Features/Conferences/ConferenceThumbnail.swift b/HackerTube/Features/Conferences/ConferenceThumbnail.swift index ab8b3d8..ddd6ddf 100644 --- a/HackerTube/Features/Conferences/ConferenceThumbnail.swift +++ b/HackerTube/Features/Conferences/ConferenceThumbnail.swift @@ -20,6 +20,11 @@ struct ConferenceThumbnail: View { .padding() .frame(maxWidth: .infinity, maxHeight: .infinity) .aspectRatio(16 / 9, contentMode: .fit) + // Conference logos are designed for light backgrounds, so use a fixed light background + // regardless of the colour scheme. Forcing the light scheme keeps the acronym fallback + // and loading indicator legible on it. + .environment(\.colorScheme, .light) + .background(Color(white: 0.94)) .id(id) } diff --git a/HackerTube/Features/Conferences/ConferencesGrid.swift b/HackerTube/Features/Conferences/ConferencesGrid.swift index c2b6586..1f21fec 100644 --- a/HackerTube/Features/Conferences/ConferencesGrid.swift +++ b/HackerTube/Features/Conferences/ConferencesGrid.swift @@ -61,9 +61,6 @@ private struct ConferencesGridRegular: View { ForEach(conferences) { conference in NavigationLink(value: Destination.conference(conference)) { ConferenceThumbnail(conference: conference) - // Contrasting foreground so the acronym fallback is visible on the `.primary` background - .foregroundStyle(.background) - .background(.primary) .hoverEffect(.highlight) Text(conference.title) @@ -82,5 +79,7 @@ private struct ConferencesGridRegular: View { #endif #Preview { - ConferencesGrid(conferences: [.example]) + NavigationStack { + ConferencesGrid(conferences: [.example]) + } }