diff --git a/Riot/Assets/en.lproj/Untranslated.strings b/Riot/Assets/en.lproj/Untranslated.strings index 5f24b4934..d55b74231 100644 --- a/Riot/Assets/en.lproj/Untranslated.strings +++ b/Riot/Assets/en.lproj/Untranslated.strings @@ -14,6 +14,10 @@ limitations under the License. */ -/** General **/ +/** These strings will be ignored by Weblate. Useful for WIP **/ -"Untranslated test" = "Untranslated test"; +// MARK: Onboarding Personalisation WIP +"onboarding_congratulations_title" = "Congratulations!"; +"onboarding_congratulations_message" = "Your account\n%@\nhas been created."; +"onboarding_congratulations_personalise_button" = "Personalise profile"; +"onboarding_congratulations_home_button" = "Take me home"; diff --git a/Riot/Assets/en.lproj/Vector.strings b/Riot/Assets/en.lproj/Vector.strings index 9d3821746..63a0afa4d 100644 --- a/Riot/Assets/en.lproj/Vector.strings +++ b/Riot/Assets/en.lproj/Vector.strings @@ -104,11 +104,6 @@ "onboarding_use_case_existing_server_message" = "Looking to join an existing server?"; "onboarding_use_case_existing_server_button" = "Connect to server"; -"onboarding_congratulations_title" = "Congratulations!"; -"onboarding_congratulations_message" = "Your account\n%@\nhas been created."; -"onboarding_congratulations_personalise_button" = "Personalise profile"; -"onboarding_congratulations_home_button" = "Take me home"; - // Authentication "auth_login" = "Log in"; "auth_register" = "Register"; diff --git a/Riot/Generated/Strings.swift b/Riot/Generated/Strings.swift index 98b157ed8..84b6970a6 100644 --- a/Riot/Generated/Strings.swift +++ b/Riot/Generated/Strings.swift @@ -2407,22 +2407,6 @@ public class VectorL10n: NSObject { public static var on: String { return VectorL10n.tr("Vector", "on") } - /// Take me home - public static var onboardingCongratulationsHomeButton: String { - return VectorL10n.tr("Vector", "onboarding_congratulations_home_button") - } - /// Your account\n%@\nhas been created. - public static func onboardingCongratulationsMessage(_ p1: String) -> String { - return VectorL10n.tr("Vector", "onboarding_congratulations_message", p1) - } - /// Personalise profile - public static var onboardingCongratulationsPersonaliseButton: String { - return VectorL10n.tr("Vector", "onboarding_congratulations_personalise_button") - } - /// Congratulations! - public static var onboardingCongratulationsTitle: String { - return VectorL10n.tr("Vector", "onboarding_congratulations_title") - } /// I already have an account public static var onboardingSplashLoginButtonTitle: String { return VectorL10n.tr("Vector", "onboarding_splash_login_button_title") diff --git a/Riot/Generated/UntranslatedStrings.swift b/Riot/Generated/UntranslatedStrings.swift index f1fe5f079..efc032506 100644 --- a/Riot/Generated/UntranslatedStrings.swift +++ b/Riot/Generated/UntranslatedStrings.swift @@ -10,9 +10,21 @@ import Foundation // swiftlint:disable function_parameter_count identifier_name line_length type_body_length public extension VectorL10n { - /// Untranslated test - static var untranslatedTest: String { - return VectorL10n.tr("Untranslated", "Untranslated test") + /// Take me home + static var onboardingCongratulationsHomeButton: String { + return VectorL10n.tr("Untranslated", "onboarding_congratulations_home_button") + } + /// Your account\n%@\nhas been created. + public static func onboardingCongratulationsMessage(_ p1: String) -> String { + return VectorL10n.tr("Untranslated", "onboarding_congratulations_message", p1) + } + /// Personalise profile + static var onboardingCongratulationsPersonaliseButton: String { + return VectorL10n.tr("Untranslated", "onboarding_congratulations_personalise_button") + } + /// Congratulations! + static var onboardingCongratulationsTitle: String { + return VectorL10n.tr("Untranslated", "onboarding_congratulations_title") } } // swiftlint:enable function_parameter_count identifier_name line_length type_body_length diff --git a/Riot/Modules/Authentication/AuthenticationCoordinator.swift b/Riot/Modules/Authentication/AuthenticationCoordinator.swift index a98f95cc1..f9d8787aa 100644 --- a/Riot/Modules/Authentication/AuthenticationCoordinator.swift +++ b/Riot/Modules/Authentication/AuthenticationCoordinator.swift @@ -94,7 +94,7 @@ final class AuthenticationCoordinator: NSObject, AuthenticationCoordinatorProtoc authenticationViewController.continueSSOLogin(withToken: loginToken, txnId: transactionID) } - func allowScreenPresentation() { + func presentPendingScreensIfNecessary() { canPresentAdditionalScreens = true showLoadingAnimation() diff --git a/Riot/Modules/Authentication/AuthenticationCoordinatorProtocol.swift b/Riot/Modules/Authentication/AuthenticationCoordinatorProtocol.swift index 95d97146d..f04676861 100644 --- a/Riot/Modules/Authentication/AuthenticationCoordinatorProtocol.swift +++ b/Riot/Modules/Authentication/AuthenticationCoordinatorProtocol.swift @@ -57,5 +57,5 @@ protocol AuthenticationCoordinatorProtocol: Coordinator, Presentable { /// Indicates to the coordinator to display any pending screens if it was created with /// the `canPresentAdditionalScreens` parameter set to `false` - func allowScreenPresentation() + func presentPendingScreensIfNecessary() } diff --git a/Riot/Modules/Onboarding/OnboardingCoordinator.swift b/Riot/Modules/Onboarding/OnboardingCoordinator.swift index fcd3c6ead..94182fa56 100644 --- a/Riot/Modules/Onboarding/OnboardingCoordinator.swift +++ b/Riot/Modules/Onboarding/OnboardingCoordinator.swift @@ -56,6 +56,7 @@ final class OnboardingCoordinator: NSObject, OnboardingCoordinatorProtocol { } // Keep a strong ref as we need to init authVC early to preload its view private let authenticationCoordinator: AuthenticationCoordinatorProtocol + /// A boolean to prevent authentication being shown when already in progress. private var isShowingAuthentication = false // MARK: Screen results @@ -65,9 +66,9 @@ final class OnboardingCoordinator: NSObject, OnboardingCoordinatorProtocol { private var session: MXSession? /// Whether all of the onboarding steps have been completed or not. `false` if there are more screens to be shown. - private var onboardingIsFinished = false - /// Whether the main app is ready to be shown or not. `true` once authenticated, verified and the store/data sources are ready. - private var appIsReady = false + private var onboardingFinished = false + /// Whether authentication is complete. `true` once authenticated, verified and the app is ready to be shown. + private var authenticationFinished = false // MARK: Public @@ -262,7 +263,7 @@ final class OnboardingCoordinator: NSObject, OnboardingCoordinatorProtocol { } // Otherwise onboarding is finished. - onboardingIsFinished = true + onboardingFinished = true completeIfReady() } @@ -282,7 +283,7 @@ final class OnboardingCoordinator: NSObject, OnboardingCoordinatorProtocol { } // This method is only called when the app is ready so we can complete if finished - appIsReady = true + authenticationFinished = true completeIfReady() } @@ -327,7 +328,7 @@ final class OnboardingCoordinator: NSObject, OnboardingCoordinatorProtocol { } } - onboardingIsFinished = true + onboardingFinished = true completeIfReady() } @@ -353,21 +354,21 @@ final class OnboardingCoordinator: NSObject, OnboardingCoordinatorProtocol { } private func analyticsPromptCoordinatorDidComplete(_ coordinator: AnalyticsPromptCoordinator) { - onboardingIsFinished = true + onboardingFinished = true completeIfReady() } // MARK: - Finished private func completeIfReady() { - guard onboardingIsFinished else { + guard onboardingFinished else { MXLog.debug("[OnboardingCoordinator] Delaying onboarding completion until all screens have been shown.") return } - guard appIsReady else { + guard authenticationFinished else { MXLog.debug("[OnboardingCoordinator] Allowing AuthenticationCoordinator to display any remaining screens.") - authenticationCoordinator.allowScreenPresentation() + authenticationCoordinator.presentPendingScreensIfNecessary() return } diff --git a/RiotSwiftUI/Modules/Onboarding/Congratulations/Coordinator/OnboardingCongratulationsCoordinator.swift b/RiotSwiftUI/Modules/Onboarding/Congratulations/Coordinator/OnboardingCongratulationsCoordinator.swift index e41c6035a..6bed87cc2 100644 --- a/RiotSwiftUI/Modules/Onboarding/Congratulations/Coordinator/OnboardingCongratulationsCoordinator.swift +++ b/RiotSwiftUI/Modules/Onboarding/Congratulations/Coordinator/OnboardingCongratulationsCoordinator.swift @@ -52,8 +52,8 @@ final class OnboardingCongratulationsCoordinator: Coordinator, Presentable { func start() { MXLog.debug("[OnboardingCongratulationsCoordinator] did start.") onboardingCongratulationsViewModel.completion = { [weak self] result in - MXLog.debug("[OnboardingCongratulationsCoordinator] OnboardingCongratulationsViewModel did complete with result: \(result).") guard let self = self else { return } + MXLog.debug("[OnboardingCongratulationsCoordinator] OnboardingCongratulationsViewModel did complete with result: \(result).") self.completion?(result) } } diff --git a/RiotSwiftUI/Modules/Template/SimpleScreenExample/Coordinator/TemplateSimpleScreenCoordinator.swift b/RiotSwiftUI/Modules/Template/SimpleScreenExample/Coordinator/TemplateSimpleScreenCoordinator.swift index 394ab913a..a051f1c57 100644 --- a/RiotSwiftUI/Modules/Template/SimpleScreenExample/Coordinator/TemplateSimpleScreenCoordinator.swift +++ b/RiotSwiftUI/Modules/Template/SimpleScreenExample/Coordinator/TemplateSimpleScreenCoordinator.swift @@ -52,8 +52,8 @@ final class TemplateSimpleScreenCoordinator: Coordinator, Presentable { func start() { MXLog.debug("[TemplateSimpleScreenCoordinator] did start.") templateSimpleScreenViewModel.completion = { [weak self] result in - MXLog.debug("[TemplateSimpleScreenCoordinator] TemplateSimpleScreenViewModel did complete with result: \(result).") guard let self = self else { return } + MXLog.debug("[TemplateSimpleScreenCoordinator] TemplateSimpleScreenViewModel did complete with result: \(result).") self.completion?(result) } } diff --git a/RiotSwiftUI/Modules/Template/SimpleUserProfileExample/Coordinator/TemplateUserProfileCoordinator.swift b/RiotSwiftUI/Modules/Template/SimpleUserProfileExample/Coordinator/TemplateUserProfileCoordinator.swift index da0b965be..f70e6402c 100644 --- a/RiotSwiftUI/Modules/Template/SimpleUserProfileExample/Coordinator/TemplateUserProfileCoordinator.swift +++ b/RiotSwiftUI/Modules/Template/SimpleUserProfileExample/Coordinator/TemplateUserProfileCoordinator.swift @@ -52,8 +52,8 @@ final class TemplateUserProfileCoordinator: Coordinator, Presentable { func start() { MXLog.debug("[TemplateUserProfileCoordinator] did start.") templateUserProfileViewModel.completion = { [weak self] result in - MXLog.debug("[TemplateUserProfileCoordinator] TemplateUserProfileViewModel did complete with result: \(result).") guard let self = self else { return } + MXLog.debug("[TemplateUserProfileCoordinator] TemplateUserProfileViewModel did complete with result: \(result).") switch result { case .cancel, .done: self.completion?() diff --git a/RiotSwiftUI/Modules/Template/TemplateAdvancedRoomsExample/TemplateRoomChat/Coordinator/TemplateRoomChatCoordinator.swift b/RiotSwiftUI/Modules/Template/TemplateAdvancedRoomsExample/TemplateRoomChat/Coordinator/TemplateRoomChatCoordinator.swift index a4a75ef88..d9a5e10f2 100644 --- a/RiotSwiftUI/Modules/Template/TemplateAdvancedRoomsExample/TemplateRoomChat/Coordinator/TemplateRoomChatCoordinator.swift +++ b/RiotSwiftUI/Modules/Template/TemplateAdvancedRoomsExample/TemplateRoomChat/Coordinator/TemplateRoomChatCoordinator.swift @@ -52,8 +52,8 @@ final class TemplateRoomChatCoordinator: Coordinator, Presentable { func start() { MXLog.debug("[TemplateRoomChatCoordinator] did start.") templateRoomChatViewModel.callback = { [weak self] result in - MXLog.debug("[TemplateRoomChatCoordinator] TemplateRoomChatViewModel did complete with result: \(result).") guard let self = self else { return } + MXLog.debug("[TemplateRoomChatCoordinator] TemplateRoomChatViewModel did complete with result: \(result).") switch result { case .done: self.callback?() diff --git a/RiotSwiftUI/Modules/Template/TemplateAdvancedRoomsExample/TemplateRoomList/Coordinator/TemplateRoomListCoordinator.swift b/RiotSwiftUI/Modules/Template/TemplateAdvancedRoomsExample/TemplateRoomList/Coordinator/TemplateRoomListCoordinator.swift index 6c7cfd36f..6a0ff1ba7 100644 --- a/RiotSwiftUI/Modules/Template/TemplateAdvancedRoomsExample/TemplateRoomList/Coordinator/TemplateRoomListCoordinator.swift +++ b/RiotSwiftUI/Modules/Template/TemplateAdvancedRoomsExample/TemplateRoomList/Coordinator/TemplateRoomListCoordinator.swift @@ -53,8 +53,8 @@ final class TemplateRoomListCoordinator: Coordinator, Presentable { func start() { MXLog.debug("[TemplateRoomListCoordinator] did start.") templateRoomListViewModel.callback = { [weak self] result in - MXLog.debug("[TemplateRoomListCoordinator] TemplateRoomListViewModel did complete with result \(result).") guard let self = self else { return } + MXLog.debug("[TemplateRoomListCoordinator] TemplateRoomListViewModel did complete with result \(result).") switch result { case .didSelectRoom(let roomId): self.callback?(.didSelectRoom(roomId)) diff --git a/RiotSwiftUI/target.yml b/RiotSwiftUI/target.yml index 6929672cd..77445ece4 100644 --- a/RiotSwiftUI/target.yml +++ b/RiotSwiftUI/target.yml @@ -42,6 +42,7 @@ targets: - path: ../Riot/Managers/AppInfo/ - path: ../Riot/Categories/Bundle.swift - path: ../Riot/Generated/Strings.swift + - path: ../Riot/Generated/UntranslatedStrings.swift - path: ../Riot/Generated/Images.swift - path: ../Riot/Managers/Theme/ - path: ../Riot/Managers/Locale/LocaleProviderType.swift @@ -50,6 +51,7 @@ targets: - path: ../Riot/Categories/UIColor.swift - path: ../Riot/Categories/UISearchBar.swift - path: ../Riot/Assets/en.lproj/Vector.strings + - path: ../Riot/Assets/en.lproj/Untranslated.strings buildPhase: resources - path: ../Riot/Assets/Images.xcassets buildPhase: resources diff --git a/RiotSwiftUI/targetUITests.yml b/RiotSwiftUI/targetUITests.yml index b96d2c2fe..75fddaca9 100644 --- a/RiotSwiftUI/targetUITests.yml +++ b/RiotSwiftUI/targetUITests.yml @@ -50,6 +50,7 @@ targets: - path: ../Riot/Managers/AppInfo/ - path: ../Riot/Categories/Bundle.swift - path: ../Riot/Generated/Strings.swift + - path: ../Riot/Generated/UntranslatedStrings.swift - path: ../Riot/Generated/Images.swift - path: ../Riot/Managers/Theme/ - path: ../Riot/Managers/Locale/LocaleProviderType.swift @@ -58,6 +59,7 @@ targets: - path: ../Riot/Categories/UIColor.swift - path: ../Riot/Categories/UISearchBar.swift - path: ../Riot/Assets/en.lproj/Vector.strings + - path: ../Riot/Assets/en.lproj/Untranslated.strings buildPhase: resources - path: ../Riot/Assets/Images.xcassets buildPhase: resources