mastodon-ios/Mastodon/Diffiable/Onboarding/ServerRuleSection.swift

37 lines
1.4 KiB
Swift

//
// ServerRuleSection.swift
// Mastodon
//
// Created by MainasuK on 2022-1-5.
//
import UIKit
import MastodonAsset
import MastodonLocalization
enum ServerRuleSection: Hashable {
case header
case rules
}
extension ServerRuleSection {
static func tableViewDiffableDataSource(
tableView: UITableView
) -> UITableViewDiffableDataSource<ServerRuleSection, ServerRuleItem> {
return UITableViewDiffableDataSource(tableView: tableView) { tableView, indexPath, item in
switch item {
case .header(let domain):
let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: OnboardingHeadlineTableViewCell.self), for: indexPath) as! OnboardingHeadlineTableViewCell
cell.titleLabel.text = L10n.Scene.ServerRules.title
cell.subTitleLabel.text = L10n.Scene.ServerRules.subtitle(domain)
return cell
case .rule(let ruleContext):
let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: ServerRulesTableViewCell.self), for: indexPath) as! ServerRulesTableViewCell
cell.indexImageView.image = UIImage(systemName: "\(ruleContext.index + 1).circle.fill") ?? UIImage(systemName: "questionmark.circle.fill")
cell.ruleLabel.text = ruleContext.rule.text
return cell
}
}
}
}