This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func application( | |
_ application: UIApplication, | |
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? | |
) -> Bool { | |
StartupProcessService() | |
.execute(process: AppearanceCustomisationStartupProcess()) | |
.execute(process: AppsFlyerStartupProcess(delegate: self)) | |
.execute(process: FacebookStartupProcess(application: application, launchOptions: launchOptions)) | |
.execute(process: GoogleServicesStartupProcess(messagingDelegate: self)) | |
.execute(process: MixpanelStartupProcess(launchOptions: launchOptions)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
protocol MessageViewPresentable: AnyObject { | |
var messageView: MessageView? { get set } | |
var hostView: UIView { get } | |
func showMessageView(using context: MessageView.Context, action: Action?) | |
func hideMessageView(animated: Bool) | |
} | |
extension MessageViewPresentable where Self: UIViewController { | |
var hostView: UIView { | |
view |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public protocol ChatNetworkService { | |
func loadMessages(bookingId: String) -> Promise<[ChatMessage]> | |
func sendMessage(_ message: String, bookingId: String) -> Promise<ChatMessage> | |
} | |
public final class DefaultChatNetworkService { | |
public init() { } | |
} | |
extension ChatNetworkService: ChatNetworkService { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public struct FilteringList<Element, Filter>: Collection { | |
public typealias Filtering = (Element, Filter?) -> Bool | |
public typealias Index = Int | |
public typealias Element = Element | |
public var filtering: Filtering? { | |
didSet { filter(using: selectedFilter) } | |
} | |
public var selectedFilter: Filter? { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class ActivitiesListContentView: UIView { | |
var flowLayout: ActivitiesListFlowLayout? { | |
collectionView.collectionViewLayout as? ActivitiesListFlowLayout | |
} | |
private(set) lazy var collectionView = UICollectionView(frame: .zero, collectionViewLayout: ActivitiesListFlowLayout()) | |
private(set) var categorySelectorView: UIView? | |
private lazy var categorySelectorContainerView = UIView.autolayoutView() | |
override init(frame: CGRect) { |