From 3029251323cbdc0328b7d089e4a770ff8993507e Mon Sep 17 00:00:00 2001
From: Bruno Muniz Azevedo Filho <bruno@elixxir.io>
Date: Tue, 16 Aug 2022 19:34:17 -0300
Subject: [PATCH] Show ban warning after fetching/processing banned list

---
 Sources/LaunchFeature/LaunchViewModel.swift     |  11 +++++++++++
 .../ReportingFeature/Resources/report_cert.der  | Bin 1508 -> 40 bytes
 2 files changed, 11 insertions(+)

diff --git a/Sources/LaunchFeature/LaunchViewModel.swift b/Sources/LaunchFeature/LaunchViewModel.swift
index 9a763f89..399a87a8 100644
--- a/Sources/LaunchFeature/LaunchViewModel.swift
+++ b/Sources/LaunchFeature/LaunchViewModel.swift
@@ -8,6 +8,7 @@ import Keychain
 import Foundation
 import Integration
 import Permissions
+import ToastFeature
 import DropboxFeature
 import VersionChecking
 import ReportingFeature
@@ -36,6 +37,7 @@ final class LaunchViewModel {
     @Dependency private var permissionHandler: PermissionHandling
     @Dependency private var fetchBannedList: FetchBannedList
     @Dependency private var processBannedList: ProcessBannedList
+    @Dependency private var toastController: ToastController
     @Dependency private var session: SessionType
 
     @KeyObject(.username, defaultValue: nil) var username: String?
@@ -224,6 +226,7 @@ final class LaunchViewModel {
                         if contact.isBanned == false {
                             contact.isBanned = true
                             try! self.session.dbManager.saveContact(contact)
+                            self.enqueueBanWarning(contact: contact)
                         }
                     } else {
                         try! self.session.dbManager.saveContact(.init(id: userId, isBanned: true))
@@ -246,4 +249,12 @@ final class LaunchViewModel {
             }
         )
     }
+
+    private func enqueueBanWarning(contact: Contact) {
+        let name = (contact.nickname ?? contact.username) ?? "One of your contacts"
+        toastController.enqueueToast(model: .init(
+            title: "\(name) has been banned for offensive content.",
+            leftImage: Asset.requestSentToaster.image
+        ))
+    }
 }
diff --git a/Sources/ReportingFeature/Resources/report_cert.der b/Sources/ReportingFeature/Resources/report_cert.der
index b040579312ef63ed54d63419ad2955e6160b9666..978f65098ea8f361f1f369194e24d68d258f4dc2 100644
GIT binary patch
literal 40
vcmazJat-itbaqt;@$d{*aP#zWRS5SC@lbGa4N`D+4GQse^K^C$ag7B4-nt6s

literal 1508
zcmXqLVtruH#C&1_GZP~dlSn*g<*UVP%XYo#o1~GO%lm23ew{l8ylk9WZ60mkc^MhG
zSs4r(dknb^IN6v(S=fY`LW5x(4jv|FM?)b40gwzk52tfZVo_>teqM>8fB_#!jEjfe
zH7B#8BD2U)#6Son!p+0&l3JFUlV6aV3REX-AP5p==HW_(sME{LH<UM!g<H?bC?=4Y
zlAD?5fKXr{C(dhRWME-vXlQ0)VQdg3&T9<h0tF!4!RFj1CMDzmWn^VwZerqRFlb`p
zVrpVyWSBd#$MIC?jgvQDRK5Lv{hH*=LyQ-*yuBBcoawt#v~gPWYw?10Ub|9u9Iwz?
zZh5Lb+{5@+a@pV3lMV{2w>?=_$>nm|Q~b+}7kP{321k4C*>YlGmB;ga?pHVX-Re=3
za=&`zcE^6JnN9rd+`cz|i&{mV3O&5K@P|RtJQ=q8#tpsi19Lx?acKNCSE*GH4A|dv
z@KA^Gsq=r1yj9iPIH7{!+}zT&92W1h=eV{9mK6(aQI;~i`d(FHqf%C~Ms&!eTRSUv
zew?P`@1phWrv5>$)iGPMITkgiPfBx++-|KT<?6c6ed49v3vTgVm^)kQ_MR{M&b`l<
ze{x{O0=eefw{thHF8X}#yyx|d5c7qnC4|3+L~Qk(8S(Dw(Yx8RZY}ua9ewl1mZ`5A
z&+7i{vn^?yTA<(@^6!nYgy2Pu-plj#j!*HjnyI^r!+B4ksJf=M`OBR3N{)ix7T$GA
zJ<|AC_K?i8Mdz39yAo_zSd<ks{ZEOd?BS4|(lLAPA1gbe(c19E_0#(ZzrZaImeler
z>ChLQTlf4|@2B>Y8@p;HCqA)xbgClx&9u1LIy#ygLVo{JUcUdzBT?CX$6523dUky{
zXVv<y%vk*lr<42h-ur&%)^8B}_k3mQg^C;ek?zbsN$%ITPkq&~bJEi%SLIIz3GPe&
zGNFE6Mb)fTm-jx}xhAfEO{Uzh*}v_3udLO2&BV;ez_{4Lz|24tm>FaRS@;ZinvgOC
zFgpN+`B=nQL`))%Z@jx*)HvQ*s)G4Q?ULu3CQZm`3z%7fX^W8|v-k7`-s18X4k4d-
zzAf+cGMdYgoP70|LjA!k)znu)oVh1Cqw3af<k~0aAe=SDN9T<;!@3pg9USWp#I>zh
zz^8HhN1t**bE2hqpN@99CdUsG`IYiEXM-YZGv}za-~N_(vOH|&wdKEpnuNO^zK#7l
zk58JBp;}*Y{teDW#@eAbUjL|A&#wE8Y1*pCj5ep{UAB7cmu8f;CG6C<sND~*zg*1j
zx8>bg>q3$J^X@h8v0l2YUSiGWsW&;yvjz4Gnfff_o56T#>z*Im?>J2Pw@%b~-qk1h
z_tvp55ud;M)6|8pABw&Ib!WpGwu2r%P5Zpxe%Y}0Mc}QeK1Yo6Wundgs($#@-yWQL
z@4~FPTRsVyE}bg0{Qcz8x+nQhnX~6#EIPzI&+pdpsMrs4=Im~k%&qvoH=R%B?KQ1+
z&$k;t?@K*4!-4P8&9GSJUHOF>GFzG(&Fb`jBqZ^?yMI9P#j0Ho&${fF(~`=5_C4@e
z=*@bmOXrupled}au|xdymv23Nd)w?i&pZ~0>gNbrq%}wT!_+-@(}E5yZJd(-$|Ixi
zagqDHvWV{Pl9CCgd@}Zii_XecRe!p&@y3@!yhn5vx9i33&Sfn&Ry$(+cV6j!C%>i=
zbIINF&p4=@j(NLaX=PhFuhkI~mFV!iV6C_2(>Copq!jz%V{7=<sE0RA=T3X&ualp(
N^3sRs{w3Gzqyb}ehFAaq

-- 
GitLab