diff --git a/Session/Shared/SessionTableViewController.swift b/Session/Shared/SessionTableViewController.swift index 80ee787f7..24b6cd82d 100644 --- a/Session/Shared/SessionTableViewController.swift +++ b/Session/Shared/SessionTableViewController.swift @@ -20,6 +20,7 @@ class SessionTableViewController = Set() + private var onFooterTap: (() -> ())? public var viewModelType: AnyObject.Type { return type(of: viewModel) } @@ -45,6 +46,30 @@ class SessionTableViewController) { @@ -74,6 +99,8 @@ class SessionTableViewController Int { diff --git a/Session/Shared/SessionTableViewModel.swift b/Session/Shared/SessionTableViewModel.swift index b3cc0186e..88a1c132b 100644 --- a/Session/Shared/SessionTableViewModel.swift +++ b/Session/Shared/SessionTableViewModel.swift @@ -43,6 +43,9 @@ class SessionTableViewModel { Just(nil).eraseToAnyPublisher() } + open var footerButtonInfo: AnyPublisher { + Just(nil).eraseToAnyPublisher() + } func updateSettings(_ updatedSettings: [SectionModel]) { preconditionFailure("abstract class - override in subclass") diff --git a/SessionUIKit/Components/SessionButton.swift b/SessionUIKit/Components/SessionButton.swift index 6f2c5443b..f7acab456 100644 --- a/SessionUIKit/Components/SessionButton.swift +++ b/SessionUIKit/Components/SessionButton.swift @@ -17,6 +17,25 @@ public final class SessionButton: UIButton { case large } + public struct Info { + public let style: Style + public let title: String + public let isEnabled: Bool + public let onTap: () -> () + + public init( + style: Style, + title: String, + isEnabled: Bool, + onTap: @escaping () -> () + ) { + self.style = style + self.title = title + self.isEnabled = isEnabled + self.onTap = onTap + } + } + private let style: Style public override var isEnabled: Bool { @@ -157,4 +176,10 @@ public final class SessionButton: UIButton { } }() } + + // MARK: - Functions + + public func setStyle(_ style: Style) { + setup(style: style) + } }