fix: compare with correct color for marking selected
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user