@ -195,11 +195,11 @@ final class ConversationVC: BaseVC, ConversationSearchControllerDelegate, UITabl
lazy var outdatedClientBanner : InfoBanner = {
lazy var outdatedClientBanner : InfoBanner = {
let info : InfoBanner . Info = InfoBanner . Info (
let info : InfoBanner . Info = InfoBanner . Info (
message : " DISAPPEARING_MESSAGES_OUTDATED_CLIENT_BANNER " . localized ( ) ,
message : String ( format : " DISAPPEARING_MESSAGES_OUTDATED_CLIENT_BANNER " . localized ( ) , self . viewModel . threadData . displayName ) ,
backgroundColor : . primary ,
backgroundColor : . primary ,
messageFont : . systemFont ( ofSize : Values . miniFontSize ) ,
messageFont : . systemFont ( ofSize : Values . miniFontSize ) ,
messageTintColor : . text,
messageTintColor : . messageBubble_ou tgoingT ext,
height : 2 0
height : 4 0
)
)
let result : InfoBanner = InfoBanner ( info : info )
let result : InfoBanner = InfoBanner ( info : info )
return result
return result
@ -621,6 +621,8 @@ final class ConversationVC: BaseVC, ConversationSearchControllerDelegate, UITabl
userCount : updatedThreadData . userCount ,
userCount : updatedThreadData . userCount ,
disappearingMessagesConfig : updatedThreadData . disappearingMessagesConfiguration
disappearingMessagesConfig : updatedThreadData . disappearingMessagesConfiguration
)
)
outdatedClientBanner . update ( message : String ( format : " DISAPPEARING_MESSAGES_OUTDATED_CLIENT_BANNER " . localized ( ) , updatedThreadData . displayName ) )
}
}
if
if
@ -685,6 +687,10 @@ final class ConversationVC: BaseVC, ConversationSearchControllerDelegate, UITabl
}
}
}
}
if initialLoad {
addOrRemoveOutdatedClientBanner ( contactIsUsingOutdatedClient : true )
}
if initialLoad || viewModel . threadData . threadIsBlocked != updatedThreadData . threadIsBlocked {
if initialLoad || viewModel . threadData . threadIsBlocked != updatedThreadData . threadIsBlocked {
addOrRemoveBlockedBanner ( threadIsBlocked : ( updatedThreadData . threadIsBlocked = = true ) )
addOrRemoveBlockedBanner ( threadIsBlocked : ( updatedThreadData . threadIsBlocked = = true ) )
}
}
@ -1247,6 +1253,25 @@ final class ConversationVC: BaseVC, ConversationSearchControllerDelegate, UITabl
}
}
// MARK: - G e n e r a l
// MARK: - G e n e r a l
func addOrRemoveOutdatedClientBanner ( contactIsUsingOutdatedClient : Bool ) {
guard contactIsUsingOutdatedClient else {
UIView . animate (
withDuration : 0.25 ,
animations : { [ weak self ] in
self ? . outdatedClientBanner . alpha = 0
} ,
completion : { [ weak self ] _ in
self ? . outdatedClientBanner . alpha = 1
self ? . outdatedClientBanner . removeFromSuperview ( )
}
)
return
}
self . view . addSubview ( self . outdatedClientBanner )
self . outdatedClientBanner . pin ( [ UIView . HorizontalEdge . left , UIView . VerticalEdge . top , UIView . HorizontalEdge . right ] , to : self . view )
}
func addOrRemoveBlockedBanner ( threadIsBlocked : Bool ) {
func addOrRemoveBlockedBanner ( threadIsBlocked : Bool ) {
guard threadIsBlocked else {
guard threadIsBlocked else {