Knock and knocked state for the join room screen (#3424)

* JoinRoomScreen ui for knocking

* code improvement

* updated previews

* added knocked state with tests

* send knock request

* Apply suggestions from code review

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* pr comments

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
This commit is contained in:
Mauro
2024-10-17 16:00:51 +02:00
committed by GitHub
parent 1723542d6a
commit bd4ecdd060
24 changed files with 627 additions and 48 deletions
@@ -18,6 +18,7 @@ enum JoinRoomScreenInteractionMode {
case invited
case join
case knock
case knocked
}
struct JoinRoomScreenRoomDetails {
@@ -48,6 +49,7 @@ struct JoinRoomScreenViewState: BindableState {
case .loading: nil
case .unknown: L10n.screenJoinRoomSubtitleNoPreview
case .invited, .join, .knock: roomDetails?.canonicalAlias
case .knocked: nil
}
}
@@ -58,6 +60,7 @@ struct JoinRoomScreenViewState: BindableState {
struct JoinRoomScreenViewStateBindings {
var alertInfo: AlertInfo<JoinRoomScreenAlertType>?
var knockMessage = ""
}
enum JoinRoomScreenAlertType {
@@ -65,6 +68,7 @@ enum JoinRoomScreenAlertType {
}
enum JoinRoomScreenViewAction {
case cancelKnock
case knock
case join
case acceptInvite