Skip to content
Snippets Groups Projects
Commit a4ea3b28 authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Use MakeReportDrawer functor in SingleChatController

parent 1ab5963f
Branches
Tags
3 merge requests!71Releasing v1.1.5 (214),!69Implemented filtering for banned/blocked users and reporting,!67v1.1.5 b(203)
......@@ -29,6 +29,7 @@ public final class SingleChatController: UIViewController {
@Dependency private var logger: XXLogger
@Dependency private var voxophone: Voxophone
@Dependency private var coordinator: ChatCoordinating
@Dependency private var makeReportDrawer: MakeReportDrawer
@Dependency private var makeAppScreenshot: MakeAppScreenshot
@Dependency private var statusBarController: StatusBarStyleControlling
......@@ -395,59 +396,16 @@ public final class SingleChatController: UIViewController {
}
private func presentReportDrawer() {
let cancelButton = CapsuleButton()
cancelButton.setStyle(.seeThrough)
cancelButton.setTitle(Localized.Chat.Report.cancel, for: .normal)
let reportButton = CapsuleButton()
reportButton.setStyle(.red)
reportButton.setTitle(Localized.Chat.Report.action, for: .normal)
let drawer = DrawerController(with: [
DrawerImage(
image: Asset.drawerNegative.image
),
DrawerText(
font: Fonts.Mulish.semiBold.font(size: 18.0),
text: Localized.Chat.Report.title,
color: Asset.neutralActive.color
),
DrawerText(
font: Fonts.Mulish.semiBold.font(size: 14.0),
text: Localized.Chat.Report.subtitle,
color: Asset.neutralWeak.color,
lineHeightMultiple: 1.35,
spacingAfter: 25
),
DrawerStack(
axis: .vertical,
spacing: 20.0,
views: [reportButton, cancelButton]
)
])
reportButton.publisher(for: .touchUpInside)
.receive(on: DispatchQueue.main)
.sink {
drawer.dismiss(animated: true) { [weak self] in
var config = MakeReportDrawer.Config()
config.onReport = { [weak self] in
guard let self = self else { return }
self.drawerCancellables.removeAll()
let screenshot = try! self.makeAppScreenshot()
self.viewModel.report(screenshot: screenshot) { success in
guard success else { return }
self.navigationController?.popViewController(animated: true)
}
}
}.store(in: &drawerCancellables)
cancelButton.publisher(for: .touchUpInside)
.receive(on: DispatchQueue.main)
.sink {
drawer.dismiss(animated: true) { [weak self] in
self?.drawerCancellables.removeAll()
}
}.store(in: &drawerCancellables)
let drawer = makeReportDrawer(config)
coordinator.toDrawer(drawer, from: self)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment