mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Make sure Element Call uses the correct theme and language. (#3017)
This commit is contained in:
@@ -24,6 +24,7 @@ struct CallScreenCoordinatorParameters {
|
||||
let clientID: String
|
||||
let elementCallBaseURL: URL
|
||||
let elementCallBaseURLOverride: URL?
|
||||
let colorScheme: ColorScheme
|
||||
}
|
||||
|
||||
enum CallScreenCoordinatorAction {
|
||||
@@ -45,7 +46,8 @@ final class CallScreenCoordinator: CoordinatorProtocol {
|
||||
roomProxy: parameters.roomProxy,
|
||||
clientID: parameters.clientID,
|
||||
elementCallBaseURL: parameters.elementCallBaseURL,
|
||||
elementCallBaseURLOverride: parameters.elementCallBaseURLOverride)
|
||||
elementCallBaseURLOverride: parameters.elementCallBaseURLOverride,
|
||||
colorScheme: parameters.colorScheme)
|
||||
}
|
||||
|
||||
func start() {
|
||||
|
||||
@@ -42,7 +42,8 @@ class CallScreenViewModel: CallScreenViewModelType, CallScreenViewModelProtocol
|
||||
roomProxy: RoomProxyProtocol,
|
||||
clientID: String,
|
||||
elementCallBaseURL: URL,
|
||||
elementCallBaseURLOverride: URL?) {
|
||||
elementCallBaseURLOverride: URL?,
|
||||
colorScheme: ColorScheme) {
|
||||
self.elementCallService = elementCallService
|
||||
self.roomProxy = roomProxy
|
||||
|
||||
@@ -100,7 +101,7 @@ class CallScreenViewModel: CallScreenViewModelType, CallScreenViewModelProtocol
|
||||
elementCallBaseURL
|
||||
}
|
||||
|
||||
switch await widgetDriver.start(baseURL: baseURL, clientID: clientID) {
|
||||
switch await widgetDriver.start(baseURL: baseURL, clientID: clientID, colorScheme: colorScheme) {
|
||||
case .success(let url):
|
||||
state.url = url
|
||||
case .failure(let error):
|
||||
|
||||
@@ -27,7 +27,6 @@ struct CallScreen: View {
|
||||
.id(context.viewState.url)
|
||||
.ignoresSafeArea(edges: .bottom)
|
||||
.presentationDragIndicator(.visible)
|
||||
.environment(\.colorScheme, .dark)
|
||||
.alert(item: $context.alertInfo)
|
||||
}
|
||||
}
|
||||
@@ -181,7 +180,7 @@ struct CallScreen_Previews: PreviewProvider {
|
||||
let widgetDriver = ElementCallWidgetDriverMock()
|
||||
widgetDriver.underlyingMessagePublisher = .init()
|
||||
widgetDriver.underlyingActions = PassthroughSubject<ElementCallWidgetDriverAction, Never>().eraseToAnyPublisher()
|
||||
widgetDriver.startBaseURLClientIDReturnValue = .success(URL.userDirectory)
|
||||
widgetDriver.startBaseURLClientIDColorSchemeReturnValue = .success(URL.userDirectory)
|
||||
|
||||
roomProxy.elementCallWidgetDriverReturnValue = widgetDriver
|
||||
|
||||
@@ -190,7 +189,8 @@ struct CallScreen_Previews: PreviewProvider {
|
||||
roomProxy: roomProxy,
|
||||
clientID: "io.element.elementx",
|
||||
elementCallBaseURL: "https://call.element.io",
|
||||
elementCallBaseURLOverride: nil)
|
||||
elementCallBaseURLOverride: nil,
|
||||
colorScheme: .light)
|
||||
}()
|
||||
|
||||
static var previews: some View {
|
||||
|
||||
Reference in New Issue
Block a user