From a6ad2b9815d72575206bdca860eef9db850cdf1c Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Mon, 13 Apr 2026 19:06:54 -0500 Subject: feat(theme): AMOLED true-black rows via themedRow() Apply listRowBackground(Color.black) per row in AMOLED mode using ThemedRowStyle and themedRow() across Lists and Forms. Use themedList() for scroll/grouped backgrounds. Treat segmented and clear list rows with isAMOLED-aware listRowBackground where Color.clear was required. Removes reliance on UIKit appearance for list cells on iOS 16+. Implements: https://todo.sr.ht/~ccleberg/hutch/24 --- Hutch/Views/Pastes/PasteListView.swift | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Hutch/Views/Pastes/PasteListView.swift') diff --git a/Hutch/Views/Pastes/PasteListView.swift b/Hutch/Views/Pastes/PasteListView.swift index 9363b08..dfd472b 100644 --- a/Hutch/Views/Pastes/PasteListView.swift +++ b/Hutch/Views/Pastes/PasteListView.swift @@ -101,6 +101,7 @@ struct PasteListView: View { await viewModel.loadMoreIfNeeded(currentItem: paste) } } + .themedRow() if viewModel.isLoadingMore { HStack { @@ -109,6 +110,7 @@ struct PasteListView: View { Spacer() } .listRowSeparator(.hidden) + .themedRow() } } .themedList() @@ -302,12 +304,14 @@ private struct CreatePasteSheet: View { files = [PasteUploadDraft()] } } + .themedRow() Button { files.append(PasteUploadDraft()) } label: { Label("Add File", systemImage: "plus") } + .themedRow() } Section("Visibility") { @@ -316,21 +320,25 @@ private struct CreatePasteSheet: View { Text("Unlisted").tag(Visibility.unlisted) Text("Private").tag(Visibility.private) } + .themedRow() } Section { Text("Paste contents are uploaded as UTF-8 text files. Hutch can change visibility later, but the API does not support editing file contents after creation.") .font(.footnote) .foregroundStyle(.secondary) + .themedRow() } if let error = viewModel.error { Section { Label(error, systemImage: "exclamationmark.triangle.fill") .foregroundStyle(.red) + .themedRow() } } } + .themedList() .navigationTitle("New Paste") .navigationBarTitleDisplayMode(.inline) .toolbar { -- cgit v1.2.3