2021-03-24 07:49:27 +01:00
|
|
|
//
|
|
|
|
// ComposeStatusPollExpiresOptionCollectionViewCell.swift
|
|
|
|
// Mastodon
|
|
|
|
//
|
|
|
|
// Created by MainasuK Cirno on 2021-3-24.
|
|
|
|
//
|
|
|
|
|
|
|
|
import os.log
|
|
|
|
import UIKit
|
|
|
|
import Combine
|
2022-01-27 14:23:39 +01:00
|
|
|
import MastodonAsset
|
2022-10-08 07:43:06 +02:00
|
|
|
import MastodonCore
|
|
|
|
import MastodonUI
|
2022-01-27 14:23:39 +01:00
|
|
|
import MastodonLocalization
|
2021-03-24 07:49:27 +01:00
|
|
|
|
2022-10-10 13:14:52 +02:00
|
|
|
//protocol ComposeStatusPollExpiresOptionCollectionViewCellDelegate: AnyObject {
|
|
|
|
// func composeStatusPollExpiresOptionCollectionViewCell(_ cell: ComposeStatusPollExpiresOptionCollectionViewCell, didSelectExpiresOption expiresOption: ComposeStatusPollItem.PollExpiresOptionAttribute.ExpiresOption)
|
|
|
|
//}
|
|
|
|
//
|
|
|
|
//final class ComposeStatusPollExpiresOptionCollectionViewCell: UICollectionViewCell {
|
|
|
|
//
|
|
|
|
// var disposeBag = Set<AnyCancellable>()
|
|
|
|
// weak var delegate: ComposeStatusPollExpiresOptionCollectionViewCellDelegate?
|
|
|
|
//
|
|
|
|
// let durationButton: UIButton = {
|
|
|
|
// let button = HighlightDimmableButton()
|
|
|
|
// button.titleLabel?.font = UIFontMetrics(forTextStyle: .body).scaledFont(for: .systemFont(ofSize: 12))
|
|
|
|
// button.expandEdgeInsets = UIEdgeInsets(top: 0, left: -10, bottom: -20, right: -20)
|
|
|
|
// button.setTitle(L10n.Scene.Compose.Poll.durationTime(L10n.Scene.Compose.Poll.thirtyMinutes), for: .normal)
|
|
|
|
// button.setTitleColor(Asset.Colors.brand.color, for: .normal)
|
|
|
|
// return button
|
|
|
|
// }()
|
|
|
|
//
|
|
|
|
// override init(frame: CGRect) {
|
|
|
|
// super.init(frame: frame)
|
|
|
|
// _init()
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// required init?(coder: NSCoder) {
|
|
|
|
// super.init(coder: coder)
|
|
|
|
// _init()
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//}
|
|
|
|
//
|
|
|
|
//extension ComposeStatusPollExpiresOptionCollectionViewCell {
|
|
|
|
//
|
|
|
|
// private typealias ExpiresOption = ComposeStatusPollItem.PollExpiresOptionAttribute.ExpiresOption
|
|
|
|
//
|
|
|
|
// private func _init() {
|
|
|
|
// durationButton.translatesAutoresizingMaskIntoConstraints = false
|
|
|
|
// contentView.addSubview(durationButton)
|
|
|
|
// NSLayoutConstraint.activate([
|
|
|
|
// durationButton.topAnchor.constraint(equalTo: contentView.topAnchor),
|
|
|
|
// durationButton.leadingAnchor.constraint(equalTo: contentView.readableContentGuide.leadingAnchor, constant: PollOptionView.checkmarkBackgroundLeadingMargin),
|
|
|
|
// durationButton.bottomAnchor.constraint(equalTo: contentView.bottomAnchor),
|
|
|
|
// ])
|
|
|
|
//
|
|
|
|
// let children = ExpiresOption.allCases.map { expiresOption -> UIAction in
|
|
|
|
// UIAction(title: expiresOption.title, image: nil, identifier: nil, discoverabilityTitle: nil, attributes: [], state: .off) { [weak self] action in
|
|
|
|
// guard let self = self else { return }
|
|
|
|
// self.expiresOptionActionHandler(action, expiresOption: expiresOption)
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// durationButton.menu = UIMenu(title: "", image: nil, identifier: nil, options: .displayInline, children: children)
|
|
|
|
// durationButton.showsMenuAsPrimaryAction = true
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//}
|
|
|
|
//
|
|
|
|
//extension ComposeStatusPollExpiresOptionCollectionViewCell {
|
|
|
|
//
|
|
|
|
// private func expiresOptionActionHandler(_ sender: UIAction, expiresOption: ExpiresOption) {
|
|
|
|
// os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s: select %s", ((#file as NSString).lastPathComponent), #line, #function, expiresOption.title)
|
|
|
|
// delegate?.composeStatusPollExpiresOptionCollectionViewCell(self, didSelectExpiresOption: expiresOption)
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//}
|