diff --git a/ElementX/Sources/Screens/Settings/SettingsModels.swift b/ElementX/Sources/Screens/Settings/SettingsModels.swift index 50962db31..51c326a0d 100644 --- a/ElementX/Sources/Screens/Settings/SettingsModels.swift +++ b/ElementX/Sources/Screens/Settings/SettingsModels.swift @@ -26,6 +26,7 @@ enum SettingsViewModelAction { struct SettingsViewState: BindableState { var bindings: SettingsViewStateBindings + var deviceID: String? var userID: String var userAvatar: UIImage? var userDisplayName: String? diff --git a/ElementX/Sources/Screens/Settings/SettingsViewModel.swift b/ElementX/Sources/Screens/Settings/SettingsViewModel.swift index bf534b34e..221cd2af6 100644 --- a/ElementX/Sources/Screens/Settings/SettingsViewModel.swift +++ b/ElementX/Sources/Screens/Settings/SettingsViewModel.swift @@ -26,7 +26,7 @@ class SettingsViewModel: SettingsViewModelType, SettingsViewModelProtocol { init(withUserSession userSession: UserSessionProtocol) { self.userSession = userSession let bindings = SettingsViewStateBindings() - super.init(initialViewState: .init(bindings: bindings, userID: userSession.userID)) + super.init(initialViewState: .init(bindings: bindings, deviceID: userSession.deviceId, userID: userSession.userID)) Task { if case let .success(userAvatarURLString) = await userSession.clientProxy.loadUserAvatarURLString() { diff --git a/ElementX/Sources/Screens/Settings/View/SettingsScreen.swift b/ElementX/Sources/Screens/Settings/View/SettingsScreen.swift index 9704e5d7a..341b4aceb 100644 --- a/ElementX/Sources/Screens/Settings/View/SettingsScreen.swift +++ b/ElementX/Sources/Screens/Settings/View/SettingsScreen.swift @@ -155,8 +155,14 @@ struct SettingsScreen: View { Text(ElementL10n.actionSignOutConfirmationSimple) } } footer: { - versionText - .frame(maxWidth: .infinity) + VStack { + versionText + .frame(maxWidth: .infinity) + + if let deviceId = context.viewState.deviceID { + Text(deviceId) + } + } } }