Design Tweaks (#3606)
* updated the order of the room details also... - removed the bloom bg from the join room screen - now DMs do not necessarily need to be encrypted rooms - changed bg of the knock banner * removed unnecessary disabled * updated join room screen tests
This commit is contained in:
@@ -363,12 +363,12 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol
|
||||
}
|
||||
|
||||
if roomProxy.infoPublisher.value.isPublic {
|
||||
state.bindings.leaveRoomAlertItem = LeaveRoomAlertItem(roomID: roomID, isDM: roomProxy.isEncryptedOneToOneRoom, state: .public)
|
||||
state.bindings.leaveRoomAlertItem = LeaveRoomAlertItem(roomID: roomID, isDM: roomProxy.isDirectOneToOneRoom, state: .public)
|
||||
} else {
|
||||
state.bindings.leaveRoomAlertItem = if roomProxy.infoPublisher.value.joinedMembersCount > 1 {
|
||||
LeaveRoomAlertItem(roomID: roomID, isDM: roomProxy.isEncryptedOneToOneRoom, state: .private)
|
||||
LeaveRoomAlertItem(roomID: roomID, isDM: roomProxy.isDirectOneToOneRoom, state: .private)
|
||||
} else {
|
||||
LeaveRoomAlertItem(roomID: roomID, isDM: roomProxy.isEncryptedOneToOneRoom, state: .empty)
|
||||
LeaveRoomAlertItem(roomID: roomID, isDM: roomProxy.isDirectOneToOneRoom, state: .empty)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ struct JoinRoomScreen: View {
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
FullscreenDialog(topPadding: context.viewState.mode == .knocked ? 151 : 35, background: .bloom) {
|
||||
FullscreenDialog(topPadding: context.viewState.mode == .knocked ? 151 : 35) {
|
||||
if context.viewState.mode == .loading {
|
||||
EmptyView()
|
||||
} else {
|
||||
|
||||
@@ -129,11 +129,11 @@ class RoomDetailsScreenViewModel: RoomDetailsScreenViewModelType, RoomDetailsScr
|
||||
actionsSubject.send(.requestInvitePeoplePresentation)
|
||||
case .processTapLeave:
|
||||
guard state.joinedMembersCount > 1 else {
|
||||
state.bindings.leaveRoomAlertItem = LeaveRoomAlertItem(roomID: roomProxy.id, isDM: roomProxy.isEncryptedOneToOneRoom, state: .empty)
|
||||
state.bindings.leaveRoomAlertItem = LeaveRoomAlertItem(roomID: roomProxy.id, isDM: roomProxy.isDirectOneToOneRoom, state: .empty)
|
||||
return
|
||||
}
|
||||
state.bindings.leaveRoomAlertItem = LeaveRoomAlertItem(roomID: roomProxy.id,
|
||||
isDM: roomProxy.isEncryptedOneToOneRoom,
|
||||
isDM: roomProxy.isDirectOneToOneRoom,
|
||||
state: roomProxy.infoPublisher.value.isPublic ? .public : .private)
|
||||
case .confirmLeave:
|
||||
Task { await leaveRoom() }
|
||||
@@ -205,7 +205,7 @@ class RoomDetailsScreenViewModel: RoomDetailsScreenViewModelType, RoomDetailsScr
|
||||
|
||||
private func fetchMembersIfNeeded() async {
|
||||
// We need to fetch members just in 1-to-1 chat to get the member object for the other person
|
||||
guard roomProxy.isEncryptedOneToOneRoom else {
|
||||
guard roomProxy.isDirectOneToOneRoom else {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,10 @@ struct RoomDetailsScreen: View {
|
||||
topicSection
|
||||
|
||||
configurationSection
|
||||
|
||||
if context.viewState.dmRecipient == nil {
|
||||
peopleSection
|
||||
}
|
||||
|
||||
aboutSection
|
||||
|
||||
@@ -151,16 +155,6 @@ struct RoomDetailsScreen: View {
|
||||
|
||||
private var aboutSection: some View {
|
||||
Section {
|
||||
if context.viewState.dmRecipient == nil {
|
||||
ListRow(label: .default(title: L10n.commonPeople,
|
||||
icon: \.user),
|
||||
details: .title(String(context.viewState.joinedMembersCount)),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .processTapPeople)
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.roomDetailsScreen.people)
|
||||
}
|
||||
|
||||
ListRow(label: .default(title: L10n.screenRoomDetailsPinnedEventsRowTitle,
|
||||
icon: \.pin),
|
||||
details: context.viewState.pinnedEventsActionState.isLoading ? .isWaiting(true) : .title(context.viewState.pinnedEventsActionState.count),
|
||||
@@ -213,7 +207,18 @@ struct RoomDetailsScreen: View {
|
||||
.onChange(of: context.isFavourite) { _, newValue in
|
||||
context.send(viewAction: .toggleFavourite(isFavourite: newValue))
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private var peopleSection: some View {
|
||||
Section {
|
||||
ListRow(label: .default(title: L10n.commonPeople,
|
||||
icon: \.user),
|
||||
details: .title(String(context.viewState.joinedMembersCount)),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .processTapPeople)
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.roomDetailsScreen.people)
|
||||
if context.viewState.canEditRolesOrPermissions, context.viewState.dmRecipient == nil {
|
||||
ListRow(label: .default(title: L10n.screenRoomDetailsRolesAndPermissions,
|
||||
icon: \.admin),
|
||||
@@ -222,7 +227,6 @@ struct RoomDetailsScreen: View {
|
||||
})
|
||||
}
|
||||
}
|
||||
.disabled(context.viewState.notificationSettingsState.isLoading)
|
||||
}
|
||||
|
||||
private var toggleMuteButton: some View {
|
||||
|
||||
@@ -46,7 +46,7 @@ final class CompletionSuggestionService: CompletionSuggestionServiceProtocol {
|
||||
}
|
||||
|
||||
if self.canMentionAllUsers,
|
||||
!self.roomProxy.isEncryptedOneToOneRoom,
|
||||
!self.roomProxy.isDirectOneToOneRoom,
|
||||
Self.shouldIncludeMember(userID: PillConstants.atRoom, displayName: PillConstants.everyone, searchText: suggestionTrigger.text) {
|
||||
membersSuggestion
|
||||
.insert(SuggestionItem.allUsers(item: .init(id: PillConstants.atRoom,
|
||||
|
||||
@@ -248,7 +248,7 @@ class RoomScreenViewModel: RoomScreenViewModelType, RoomScreenViewModelProtocol
|
||||
state.pinnedEventsBannerState = .loading(numbersOfEvents: pinnedEventIDs.count)
|
||||
}
|
||||
|
||||
switch (roomProxy.isEncryptedOneToOneRoom, roomInfo.joinRule) {
|
||||
switch (roomProxy.isDirectOneToOneRoom, roomInfo.joinRule) {
|
||||
case (false, .knock), (false, .knockRestricted):
|
||||
state.isKnockableRoom = true
|
||||
default:
|
||||
|
||||
@@ -25,7 +25,7 @@ struct KnockRequestsBannerView: View {
|
||||
var body: some View {
|
||||
mainContent
|
||||
.padding(16)
|
||||
.background(.compound.bgCanvasDefault, in: RoundedRectangle(cornerRadius: 12))
|
||||
.background(.compound.bgCanvasDefaultLevel1, in: RoundedRectangle(cornerRadius: 12))
|
||||
.compositingGroup()
|
||||
.shadow(color: Color(red: 0.11, green: 0.11, blue: 0.13).opacity(0.1), radius: 12, x: 0, y: 4)
|
||||
.padding(.horizontal, 16)
|
||||
|
||||
@@ -77,7 +77,7 @@ class TimelineViewModel: TimelineViewModelType, TimelineViewModelProtocol {
|
||||
|
||||
super.init(initialViewState: TimelineViewState(timelineKind: timelineController.timelineKind,
|
||||
roomID: roomProxy.id,
|
||||
isEncryptedOneToOneRoom: roomProxy.isEncryptedOneToOneRoom,
|
||||
isEncryptedOneToOneRoom: roomProxy.isDirectOneToOneRoom,
|
||||
timelineState: TimelineState(focussedEvent: focussedEventID.map { .init(eventID: $0, appearance: .immediate) }),
|
||||
ownUserID: roomProxy.ownUserID,
|
||||
isViewSourceEnabled: appSettings.viewSourceEnabled,
|
||||
|
||||
@@ -160,8 +160,8 @@ extension JoinedRoomProxyProtocol {
|
||||
isPublic: infoPublisher.value.isPublic)
|
||||
}
|
||||
|
||||
var isEncryptedOneToOneRoom: Bool {
|
||||
infoPublisher.value.isDirect && isEncrypted && infoPublisher.value.activeMembersCount <= 2
|
||||
var isDirectOneToOneRoom: Bool {
|
||||
infoPublisher.value.isDirect && infoPublisher.value.activeMembersCount <= 2
|
||||
}
|
||||
|
||||
func members() async -> [RoomMemberProxyProtocol]? {
|
||||
|
||||
@@ -431,7 +431,7 @@ class RoomTimelineController: RoomTimelineControllerProtocol {
|
||||
// Check if we need to add anything to the top of the timeline.
|
||||
switch paginationState.backward {
|
||||
case .timelineEndReached:
|
||||
if timelineKind != .pinned, !roomProxy.isEncryptedOneToOneRoom {
|
||||
if timelineKind != .pinned, !roomProxy.isDirectOneToOneRoom {
|
||||
let timelineStart = TimelineStartRoomTimelineItem(name: roomProxy.infoPublisher.value.displayName)
|
||||
newTimelineItems.insert(timelineStart, at: 0)
|
||||
}
|
||||
@@ -459,7 +459,7 @@ class RoomTimelineController: RoomTimelineControllerProtocol {
|
||||
private func buildTimelineItem(for itemProxy: TimelineItemProxy) -> RoomTimelineItemProtocol? {
|
||||
switch itemProxy {
|
||||
case .event(let eventTimelineItem):
|
||||
let timelineItem = timelineItemFactory.buildTimelineItem(for: eventTimelineItem, isDM: roomProxy.isEncryptedOneToOneRoom)
|
||||
let timelineItem = timelineItemFactory.buildTimelineItem(for: eventTimelineItem, isDM: roomProxy.isDirectOneToOneRoom)
|
||||
|
||||
if let messageTimelineItem = timelineItem as? EventBasedMessageTimelineItemProtocol {
|
||||
// Avoid fetching this over and over again as it changes states if it keeps failing to load
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1b4453ac118d0dd1f35839453eaa3b738df0972d2e6c77e18d5a50736b671358
|
||||
size 2019171
|
||||
oid sha256:1645515771a470a87b2a6bce077fd4605cbc1bef9eaf5443568b5df90c2de311
|
||||
size 176707
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3f62f20abbffc0f9cd035c5cc24e56d2ece53ad9d6a9e2dfbe9657eba1680b54
|
||||
size 1974158
|
||||
oid sha256:9631828c623d72046f50e0adde6c5310b53314e62bf29c50341815592ae2d8a6
|
||||
size 176333
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:361078f56cb4e4178f51d42d11b92ec8452371876b740e3f014ba2a9fc13750e
|
||||
size 1818925
|
||||
oid sha256:ea029779d25f9371956629e00cdbd28555d9f33c965099ae5bea3ccca474ee29
|
||||
size 188184
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3c90b601dcb25932fc4183cab05941d180d9b08307688cacc71f4397c217ff18
|
||||
size 1988577
|
||||
oid sha256:32dbe2fdb963e3f44abed48231db363ebcb2f2792ee5b6e987beeaba4c7d27e3
|
||||
size 108943
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c85ef3dcec00111c6c6bb9fe6cfbb1f2bbf332631cc681ea41642f411a4c761e
|
||||
size 1890475
|
||||
oid sha256:d3df84c0006286d66189c53154fe3ae17acb53b21122ea7893bf3034e8b3654c
|
||||
size 98431
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ec03de50d10d0dae27d01055898b1a4a6aa065424805a0f0845db4e18244eed9
|
||||
size 2024510
|
||||
oid sha256:c24082811d674e78690542d5ad4447fae4028a1b7d6e3b7182ce348f0422e1bd
|
||||
size 181607
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:98752592d5baf1e6221e471133ec8d911f1eaa3e81e78542c2fb57a8a0beb29f
|
||||
size 1975139
|
||||
oid sha256:8d2c3b773eb35ca1938e19eb413edefc154819ad296297d1db52d41bf4244a2b
|
||||
size 177403
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8513ac0a552b5e1a71c5ef6508f3672c17ea4c421fcfd843980bade28a676672
|
||||
size 1827124
|
||||
oid sha256:6cba375d9786e5f3f60729d90ea80e04512928b1d99c25df5a3e12797e56feab
|
||||
size 196127
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6139b5e77d31ef391b0845d507b160f820b3c45e50654943ad108c4b662f1cd9
|
||||
size 2005800
|
||||
oid sha256:99e979255bd6e0cdb76ec16cba8522f5610e5a14a80391cfb91875ff576c7237
|
||||
size 120516
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0fde3ae365ead45c6789493ec6dcd5569f420d823d778ebe2549b36e1076052a
|
||||
size 1895270
|
||||
oid sha256:7b2b16b80f6f6d362c28f385b7bb55343a108494ec10a1204f92f8e224e971e7
|
||||
size 101218
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a2363b06b20e07963b9f698d22d03f5faae82d0f08bafaa557686026479be5c5
|
||||
size 853847
|
||||
oid sha256:bf9575beca228f4ed808a40f5fab5cc49ff3e14b8d4b25bfd5d24bf69a12cb89
|
||||
size 121706
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9137ded58efa6b4cef1fa8fe7c799ac8df5a877e8f4088535d920209d3a88c27
|
||||
size 825318
|
||||
oid sha256:947f1bf8fdc8202333df2a4c11c77856de43bfec3e4c9286df332554f1ecc4f8
|
||||
size 118228
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3c61afbdc71ee87f4e36dc23f0e2bd75884ef4c55e8b03bd56baa1e821e2a8bd
|
||||
size 731130
|
||||
oid sha256:5b5261fe4972edfc4056168497f9fe4145cef7b108985d607c4347acd6aeef8b
|
||||
size 128093
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:41450e59f11238219b376a97a79159ad9e75274bfa91830fa81840b29e7c7646
|
||||
size 824980
|
||||
oid sha256:c52cde3ef3bd16559d530ed97fee81c163cee4d7b1ab10aaed92ad37e2e33fe0
|
||||
size 65335
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:068da1ad317aefc4ebed25f4ac259cd5fe46a5ce444b6e22051455d69bfea78e
|
||||
size 756893
|
||||
oid sha256:e61e6e702aac228161a0432be400886ba361c0d8888fbb3b7009d0522aeb4112
|
||||
size 51837
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2a41f110e51f8278fb4d0fcc397499adffb5b8d2079e2c67a4853514dd8448fd
|
||||
size 861409
|
||||
oid sha256:46731b3bef32a06409ed48eb4b2311a396def898d24c92d7e17c0d289e0a292a
|
||||
size 128657
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f5192b90e7b04b85e2bf7d97fc96b0dd92624eb8cb6de9264b47df7cc1ddc67f
|
||||
size 827032
|
||||
oid sha256:271c66b0fc2805da5afdf54cec271ef9a9cf269f7e2ba792090908007b19acb8
|
||||
size 120239
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4470efc9cf7421f961e34c32cf4136c5621f89b1266f34c790e6dbb16c2591e6
|
||||
size 739258
|
||||
oid sha256:83bb5f7f5eb52dec7256c42d97623638f866fe885b576f7fcdebdf881f972071
|
||||
size 134322
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:05556ba65c08cce60531fad7e8ed4de4b75f5de7adfabb725b5d7a35276f10dd
|
||||
size 841034
|
||||
oid sha256:afb92349fbc394a29020f766a4618b0e1bf993bda0ebdc9f08bf58f13cbf50cd
|
||||
size 79086
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:eaa7027ce0d6ba02e75bc6b35cd7080a4cf217e6d36b3aa2bcebfce6355ad117
|
||||
size 763528
|
||||
oid sha256:4b820eab5aba492d8a78e37464bb6475fcf41bfe0c5a15f2deceb9b57cfe14ca
|
||||
size 58259
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:69c8d1611151cd7356e8595eb8c320cea39469b162f8608a513d19b842b9fc14
|
||||
size 174237
|
||||
oid sha256:7b85a4d43317a3e429b63ca3b5e8c0302588ec79cd301ccd4dbe006f8fbabbcc
|
||||
size 168419
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0f149aa6746040c30b0d07e75ea2594f2e98befd365421cd466031152835ee40
|
||||
size 149948
|
||||
oid sha256:f855bcf215c22c3e8f73adc493092c041bcc532ccc8044632a86e4eebdab45d3
|
||||
size 144080
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:98b2d3b1922ed3fdb9ae9f23f0801d4c6cc1c47eb22118a1c673028e3c3064b1
|
||||
size 180087
|
||||
oid sha256:4b0911b93749fea8d6d0e1e9fce015cd3b7e99c8f2005542f1a0468dc0da48d4
|
||||
size 173188
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1fadb3e09d55ba1c9e0ba4082eea366422642c76ae731cad3172c522c57734d5
|
||||
size 160375
|
||||
oid sha256:1227fb48ff0248992eebb56931e54943bd344308f0f9de4ceb3871c7b72add9e
|
||||
size 152712
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:84e62d4e5808da5e807e076179538e6cb42dafae0c1c1aabf3732dbc4bb7c8a0
|
||||
size 112044
|
||||
oid sha256:c1d7d735ffbb1d5ddf39e0a64b6a8520164ec675d605d930f5f4fb9d759962d9
|
||||
size 106360
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f86bc2dd442d2a0c9ab5179a19dff28a24716b188d3267d8c64aecea6856a328
|
||||
size 97074
|
||||
oid sha256:3c4d1613cd852097d5350acbe7f197b5515f2487b550c4be74a4953fd5fc7494
|
||||
size 91217
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a3937e498c27177646dae584d63ba4ee8eae44098956bab21d7869305ff32639
|
||||
size 124185
|
||||
oid sha256:bdfea363c096f74335c13b9db377acd924e2ac0de3b56dba1c1a8037ab43b16f
|
||||
size 124309
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:be13972396c7ed858d62628c251234f033af3f1e585118c092f039b94eaf133b
|
||||
size 111276
|
||||
oid sha256:74848803e9727d3a0f36941aa93a19e681f24c2d3e28c594a9275f38ad8160d8
|
||||
size 106302
|
||||
|
||||
Reference in New Issue
Block a user