1
0
mirror of https://github.com/mastodon/mastodon-ios.git synced 2025-02-03 02:37:37 +01:00

Clean up settings (a bit, IOS-14)

This commit is contained in:
Nathan Mattes 2023-06-30 09:14:38 +02:00
parent 9ec380cccd
commit 24724b9943
5 changed files with 12 additions and 39 deletions

View File

@ -3,7 +3,7 @@
import UIKit import UIKit
import MastodonAsset import MastodonAsset
protocol GeneralSettingToggleCellDelegate: AnyObject { protocol GeneralSettingToggleTableViewCellDelegate: AnyObject {
func toggle(_ cell: GeneralSettingToggleTableViewCell, setting: GeneralSetting, isOn: Bool) func toggle(_ cell: GeneralSettingToggleTableViewCell, setting: GeneralSetting, isOn: Bool)
} }
@ -12,7 +12,7 @@ class GeneralSettingToggleTableViewCell: ToggleTableViewCell {
return "GeneralSettingToggleCell" return "GeneralSettingToggleCell"
} }
weak var delegate: GeneralSettingToggleCellDelegate? weak var delegate: GeneralSettingToggleTableViewCellDelegate?
var setting: GeneralSetting? var setting: GeneralSetting?
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {

View File

@ -15,7 +15,6 @@ enum GeneralSettingsSectionType: Hashable {
var sectionTitle: String { var sectionTitle: String {
switch self { switch self {
//TODO: @zeitschlag Localization
case .appearance: case .appearance:
return L10n.Scene.Settings.General.Appearance.sectionTitle return L10n.Scene.Settings.General.Appearance.sectionTitle
case .design: case .design:

View File

@ -144,7 +144,7 @@ extension GeneralSettingsViewController: UITableViewDelegate {
} }
} }
extension GeneralSettingsViewController: GeneralSettingToggleCellDelegate { extension GeneralSettingsViewController: GeneralSettingToggleTableViewCellDelegate {
func toggle(_ cell: GeneralSettingToggleTableViewCell, setting: GeneralSetting, isOn: Bool) { func toggle(_ cell: GeneralSettingToggleTableViewCell, setting: GeneralSetting, isOn: Bool) {
switch setting { switch setting {
case .appearance(_), .openLinksIn(_): case .appearance(_), .openLinksIn(_):

View File

@ -55,17 +55,10 @@ extension Setting {
property: Property property: Property
) -> Setting { ) -> Setting {
let setting: Setting = context.insertObject() let setting: Setting = context.insertObject()
// setting.appearanceRaw = property.appearanceRaw
setting.domain = property.domain setting.domain = property.domain
setting.userID = property.userID setting.userID = property.userID
return setting return setting
} }
// public func update(appearanceRaw: String) {
// guard appearanceRaw != self.appearanceRaw else { return }
// self.appearanceRaw = appearanceRaw
// didUpdate(at: Date())
// }
public func update(preferredStaticAvatar: Bool) { public func update(preferredStaticAvatar: Bool) {
guard preferredStaticAvatar != self.preferredStaticAvatar else { return } guard preferredStaticAvatar != self.preferredStaticAvatar else { return }
@ -95,16 +88,13 @@ extension Setting {
public struct Property { public struct Property {
public let domain: String public let domain: String
public let userID: String public let userID: String
// public let appearanceRaw: String
public init( public init(
domain: String, domain: String,
userID: String userID: String
// appearanceRaw: String
) { ) {
self.domain = domain self.domain = domain
self.userID = userID self.userID = userID
// self.appearanceRaw = appearanceRaw
} }
} }
} }
@ -122,5 +112,13 @@ extension Setting {
#keyPath(Setting.userID), userID #keyPath(Setting.userID), userID
) )
} }
}
extension Setting {
public var activeSubscription: Subscription? {
return (subscriptions ?? Set())
.sorted(by: { $0.activedAt > $1.activedAt })
.first
}
} }

View File

@ -1,24 +0,0 @@
//
// Setting.swift
// Mastodon
//
// Created by MainasuK Cirno on 2021-4-25.
//
import Foundation
import CoreDataStack
import MastodonSDK
extension Setting {
// var appearance: SettingsItem.AppearanceMode {
// return SettingsItem.AppearanceMode(rawValue: appearanceRaw) ?? .automatic
// }
public var activeSubscription: Subscription? {
return (subscriptions ?? Set())
.sorted(by: { $0.activedAt > $1.activedAt })
.first
}
}