mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-22 17:42:45 +02:00
Address comments, show unencrypted rooms,
retain viewModel and services in ScreenSates so you can interact with Previews after the first state.
This commit is contained in:
+10
-7
@@ -36,17 +36,17 @@ enum MockTemplateRoomChatScreenState: MockScreenState, CaseIterable {
|
||||
}
|
||||
|
||||
/// Generate the view struct for the screen state.
|
||||
var screenView: AnyView {
|
||||
var screenView: ([Any], AnyView) {
|
||||
let service: MockTemplateRoomChatService
|
||||
switch self {
|
||||
case .noMessages:
|
||||
service = MockTemplateRoomChatService(messages: [])
|
||||
service.simulateUpdate(initializationStatus: .initialized)
|
||||
case .messages:
|
||||
service = MockTemplateRoomChatService()
|
||||
service.simulateUpdate(initializationStatus: .initialized)
|
||||
service = MockTemplateRoomChatService()
|
||||
service.simulateUpdate(initializationStatus: .initialized)
|
||||
case .initializingRoom:
|
||||
service = MockTemplateRoomChatService()
|
||||
service = MockTemplateRoomChatService()
|
||||
case .failedToInitializeRoom:
|
||||
service = MockTemplateRoomChatService()
|
||||
service.simulateUpdate(initializationStatus: .failedToInitialize)
|
||||
@@ -54,8 +54,11 @@ enum MockTemplateRoomChatScreenState: MockScreenState, CaseIterable {
|
||||
let viewModel = TemplateRoomChatViewModel(templateRoomChatService: service)
|
||||
|
||||
// can simulate service and viewModel actions here if needs be.
|
||||
|
||||
return AnyView(TemplateRoomChat(viewModel: viewModel.context)
|
||||
.addDependency(MockAvatarService.example))
|
||||
|
||||
return (
|
||||
[service, viewModel],
|
||||
AnyView(TemplateRoomChat(viewModel: viewModel.context)
|
||||
.addDependency(MockAvatarService.example))
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -46,7 +46,8 @@ class MockTemplateRoomChatService: TemplateRoomChatServiceProtocol {
|
||||
func simulateUpdate(initializationStatus: TemplateRoomChatRoomInitializationStatus) {
|
||||
self.roomInitializationStatus.value = initializationStatus
|
||||
}
|
||||
|
||||
func simulateUpdate(messages: [TemplateRoomChatMessage]) {
|
||||
self.chatMessagesSubject.send(messages)
|
||||
self.chatMessagesSubject.value = messages
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user