fix: compare with correct color for marking selected

This commit is contained in:
2026-07-31 21:07:30 +02:00
parent 2dbbe175b5
commit 0003812cf1
+18 -11
View File
@@ -2130,14 +2130,17 @@ func convertPageTurnModeToString(_ pageTurnMode: PageTurnMode) -> String {
}
extension ViewController {
private func colorItems(applyTo colorHandler: @escaping (UIColor) -> Void) -> [SettingsMenuItem] {
private func colorItems(
previous: UIColor,
applyTo colorHandler: @escaping (UIColor) -> Void
) -> [SettingsMenuItem] {
let items: [UIColor] = [.black, .white, .red, .blue]
return items.map { color in
SettingsMenuItem(title: convertColorToString(color), children: nil, action: { [weak self] in
colorHandler(color)
self?.dismiss(animated: false)
},
selected: { [weak self] in self?.readerView.backgroundColor == color })
selected: { previous == color })
}
}
@@ -2207,15 +2210,19 @@ extension ViewController {
}
private func makeSettingsTree() -> [SettingsMenuItem] {
let backgroundColors = colorItems { [weak self] color in
self?.homeView.backgroundColor = color
self?.settings.homeBackgroundColor = self?.convertColorToString(color) ?? "White"
self?.saveSettings()
}
let defaultReadingBackgroundColor = colorItems { [weak self] color in
self?.settings.defaultReadingBackgroundColor = self?.convertColorToString(color) ?? "Black"
self?.saveSettings()
}
let backgroundColors = colorItems(previous: homeView.backgroundColor ??
convertStringToColor(settings.homeBackgroundColor),
applyTo: { [weak self] color in
self?.homeView.backgroundColor = color
self?.settings.homeBackgroundColor = self?.convertColorToString(color) ?? "White"
self?.saveSettings()
})
let defaultReadingBackgroundColor = colorItems(previous: readerView.backgroundColor ??
convertStringToColor(settings.defaultReadingBackgroundColor),
applyTo: { [weak self] color in
self?.settings.defaultReadingBackgroundColor = self?.convertColorToString(color) ?? "Black"
self?.saveSettings()
})
let defaultPageTurnMode = pageTurnItems { [weak self] pageTurnMode in
self?.settings.defaultPageTurnMode = pageTurnMode
self?.saveSettings()