diff --git a/androidHyperskillApp/fastlane/metadata/android/en-US/title.txt b/androidHyperskillApp/fastlane/metadata/android/en-US/title.txt index 41dd3eb972..87c7469933 100644 --- a/androidHyperskillApp/fastlane/metadata/android/en-US/title.txt +++ b/androidHyperskillApp/fastlane/metadata/android/en-US/title.txt @@ -1 +1 @@ -My Hyperskill \ No newline at end of file +Hyperskill: Learn to Code \ No newline at end of file diff --git a/androidHyperskillApp/src/main/AndroidManifest.xml b/androidHyperskillApp/src/main/AndroidManifest.xml index a9f294cb72..4a7e598e7e 100644 --- a/androidHyperskillApp/src/main/AndroidManifest.xml +++ b/androidHyperskillApp/src/main/AndroidManifest.xml @@ -5,7 +5,7 @@ if (!isAdded) return@addKeyboardVisibilityListener viewBinding.signInHyperskillLogoShapeableImageView.isVisible = !isVisible diff --git a/androidHyperskillApp/src/main/java/org/hyperskill/app/android/auth/view/ui/fragment/AuthSocialFragment.kt b/androidHyperskillApp/src/main/java/org/hyperskill/app/android/auth/view/ui/fragment/AuthSocialFragment.kt index 28b0654c58..6829eb7cdd 100644 --- a/androidHyperskillApp/src/main/java/org/hyperskill/app/android/auth/view/ui/fragment/AuthSocialFragment.kt +++ b/androidHyperskillApp/src/main/java/org/hyperskill/app/android/auth/view/ui/fragment/AuthSocialFragment.kt @@ -145,15 +145,9 @@ class AuthSocialFragment : viewBinding.signInToTextView.text = if (isInSignUpMode) { - getString( - SharedRes.string.auth_sign_up_title, - getString(SharedRes.string.android_app_name) - ) + getString(SharedRes.string.auth_sign_up_title) } else { - getString( - SharedRes.string.auth_log_in_title, - getString(SharedRes.string.android_app_name) - ) + getString(SharedRes.string.auth_log_in_title) } authMaterialCardViewsAdapter.items = listOf( diff --git a/androidHyperskillApp/src/main/res/layout/fragment_welcome.xml b/androidHyperskillApp/src/main/res/layout/fragment_welcome.xml index 1533f8a89e..287283e0d4 100644 --- a/androidHyperskillApp/src/main/res/layout/fragment_welcome.xml +++ b/androidHyperskillApp/src/main/res/layout/fragment_welcome.xml @@ -28,7 +28,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintWidth_max="@dimen/auth_button_max_width" - android:text="@string/android_onboarding_title" /> + android:text="@string/onboarding_title" /> CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - My Hyperskill + Hyperskill CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier diff --git a/iosHyperskillApp/iosHyperskillApp/Sources/Models/Constants/Strings.swift b/iosHyperskillApp/iosHyperskillApp/Sources/Models/Constants/Strings.swift index 40f2a2b116..8a456e9dc5 100644 --- a/iosHyperskillApp/iosHyperskillApp/Sources/Models/Constants/Strings.swift +++ b/iosHyperskillApp/iosHyperskillApp/Sources/Models/Constants/Strings.swift @@ -7,7 +7,6 @@ enum Strings { // MARK: - Common - enum Common { - static let appName = sharedStrings.ios_app_name.localized() static let connectionError = sharedStrings.connection_error.localized() static let done = sharedStrings.done.localized() static let yes = sharedStrings.yes.localized() @@ -53,8 +52,8 @@ enum Strings { // MARK: Social enum Social { - static let logInTitle = sharedStrings.auth_log_in_title.format(args_: [Common.appName]).localized() - static let signUpTitle = sharedStrings.auth_sign_up_title.format(args_: [Common.appName]).localized() + static let logInTitle = sharedStrings.auth_log_in_title.localized() + static let signUpTitle = sharedStrings.auth_sign_up_title.localized() static let jetBrainsAccount = sharedStrings.auth_jetbrains_account_text.localized() static let googleAccount = sharedStrings.auth_google_account_text.localized() static let gitHubAccount = sharedStrings.auth_github_account_text.localized() @@ -484,7 +483,7 @@ enum Strings { // MARK: - Welcome - enum Welcome { - static let title = sharedStrings.ios_onboarding_title.localized() + static let title = sharedStrings.onboarding_title.localized() static let text = sharedStrings.onboarding_text.localized() static let primaryButton = sharedStrings.onboarding_primary_button_text.localized() static let secondaryButton = sharedStrings.onboarding_secondary_button_text.localized() diff --git a/shared/src/androidMain/kotlin/org/hyperskill/app/core/domain/platform/Platform.kt b/shared/src/androidMain/kotlin/org/hyperskill/app/core/domain/platform/Platform.kt index 51c02f56aa..16a2ccdec5 100644 --- a/shared/src/androidMain/kotlin/org/hyperskill/app/core/domain/platform/Platform.kt +++ b/shared/src/androidMain/kotlin/org/hyperskill/app/core/domain/platform/Platform.kt @@ -1,8 +1,5 @@ package org.hyperskill.app.core.domain.platform -import dev.icerock.moko.resources.StringResource -import org.hyperskill.app.SharedResources - actual class Platform actual constructor() { actual val platformType: PlatformType = PlatformType.ANDROID actual val platformDescription: String = "Android ${android.os.Build.VERSION.SDK_INT}" @@ -10,6 +7,4 @@ actual class Platform actual constructor() { actual val analyticName: String = "android" actual val feedbackName: String = "Android" - - actual val appNameResource: StringResource = SharedResources.strings.android_app_name } \ No newline at end of file diff --git a/shared/src/commonMain/kotlin/org/hyperskill/app/core/domain/platform/Platform.kt b/shared/src/commonMain/kotlin/org/hyperskill/app/core/domain/platform/Platform.kt index 74cd19ac19..7809c38a3c 100644 --- a/shared/src/commonMain/kotlin/org/hyperskill/app/core/domain/platform/Platform.kt +++ b/shared/src/commonMain/kotlin/org/hyperskill/app/core/domain/platform/Platform.kt @@ -1,7 +1,5 @@ package org.hyperskill.app.core.domain.platform -import dev.icerock.moko.resources.StringResource - expect class Platform() { val platformType: PlatformType val platformDescription: String @@ -9,6 +7,4 @@ expect class Platform() { val analyticName: String val feedbackName: String - - val appNameResource: StringResource } \ No newline at end of file diff --git a/shared/src/commonMain/kotlin/org/hyperskill/app/profile_settings/domain/model/FeedbackEmailDataBuilder.kt b/shared/src/commonMain/kotlin/org/hyperskill/app/profile_settings/domain/model/FeedbackEmailDataBuilder.kt index 43ce9c772d..a7b80bb1ff 100644 --- a/shared/src/commonMain/kotlin/org/hyperskill/app/profile_settings/domain/model/FeedbackEmailDataBuilder.kt +++ b/shared/src/commonMain/kotlin/org/hyperskill/app/profile_settings/domain/model/FeedbackEmailDataBuilder.kt @@ -2,7 +2,7 @@ package org.hyperskill.app.profile_settings.domain.model import org.hyperskill.app.core.domain.platform.Platform -object FeedbackEmailDataBuilder { +internal object FeedbackEmailDataBuilder { fun build( supportEmail: String, applicationName: String, diff --git a/shared/src/commonMain/kotlin/org/hyperskill/app/profile_settings/presentation/ProfileSettingsActionDispatcher.kt b/shared/src/commonMain/kotlin/org/hyperskill/app/profile_settings/presentation/ProfileSettingsActionDispatcher.kt index 21549c6446..6fc77b4d54 100644 --- a/shared/src/commonMain/kotlin/org/hyperskill/app/profile_settings/presentation/ProfileSettingsActionDispatcher.kt +++ b/shared/src/commonMain/kotlin/org/hyperskill/app/profile_settings/presentation/ProfileSettingsActionDispatcher.kt @@ -66,7 +66,7 @@ internal class ProfileSettingsActionDispatcher( val feedbackEmailData = FeedbackEmailDataBuilder.build( supportEmail = resourceProvider.getString(strings.settings_send_feedback_support_email), - applicationName = resourceProvider.getString(platform.appNameResource), + applicationName = resourceProvider.getString(strings.app_name), platform = platform, userId = currentProfile?.id, applicationVersion = userAgentInfo.versionCode diff --git a/shared/src/commonMain/kotlin/org/hyperskill/app/request_review/modal/injection/RequestReviewModalComponentImpl.kt b/shared/src/commonMain/kotlin/org/hyperskill/app/request_review/modal/injection/RequestReviewModalComponentImpl.kt index 41e5a0b73e..3e269ddbe4 100644 --- a/shared/src/commonMain/kotlin/org/hyperskill/app/request_review/modal/injection/RequestReviewModalComponentImpl.kt +++ b/shared/src/commonMain/kotlin/org/hyperskill/app/request_review/modal/injection/RequestReviewModalComponentImpl.kt @@ -17,7 +17,6 @@ internal class RequestReviewModalComponentImpl( analyticInteractor = appGraph.analyticComponent.analyticInteractor, logger = appGraph.loggerComponent.logger, buildVariant = appGraph.commonComponent.buildKonfig.buildVariant, - platform = appGraph.commonComponent.platform, resourceProvider = appGraph.commonComponent.resourceProvider ) } \ No newline at end of file diff --git a/shared/src/commonMain/kotlin/org/hyperskill/app/request_review/modal/injection/RequestReviewModalFeatureBuilder.kt b/shared/src/commonMain/kotlin/org/hyperskill/app/request_review/modal/injection/RequestReviewModalFeatureBuilder.kt index 45666823dc..001f84e074 100644 --- a/shared/src/commonMain/kotlin/org/hyperskill/app/request_review/modal/injection/RequestReviewModalFeatureBuilder.kt +++ b/shared/src/commonMain/kotlin/org/hyperskill/app/request_review/modal/injection/RequestReviewModalFeatureBuilder.kt @@ -4,7 +4,6 @@ import co.touchlab.kermit.Logger import org.hyperskill.app.analytic.domain.interactor.AnalyticInteractor import org.hyperskill.app.analytic.presentation.wrapWithAnalyticLogger import org.hyperskill.app.core.domain.BuildVariant -import org.hyperskill.app.core.domain.platform.Platform import org.hyperskill.app.core.presentation.transformState import org.hyperskill.app.core.view.mapper.ResourceProvider import org.hyperskill.app.logging.presentation.wrapWithLogger @@ -27,7 +26,6 @@ internal object RequestReviewModalFeatureBuilder { analyticInteractor: AnalyticInteractor, logger: Logger, buildVariant: BuildVariant, - platform: Platform, resourceProvider: ResourceProvider ): Feature { val requestReviewModalReducer = RequestReviewModalReducer( @@ -36,7 +34,6 @@ internal object RequestReviewModalFeatureBuilder { ).wrapWithLogger(buildVariant, logger, LOG_TAG) val requestReviewModalViewStateMapper = RequestReviewModalViewStateMapper( - platform = platform, resourceProvider = resourceProvider ) diff --git a/shared/src/commonMain/kotlin/org/hyperskill/app/request_review/modal/view/mapper/RequestReviewModalViewStateMapper.kt b/shared/src/commonMain/kotlin/org/hyperskill/app/request_review/modal/view/mapper/RequestReviewModalViewStateMapper.kt index ffd2678fbf..370554b27c 100644 --- a/shared/src/commonMain/kotlin/org/hyperskill/app/request_review/modal/view/mapper/RequestReviewModalViewStateMapper.kt +++ b/shared/src/commonMain/kotlin/org/hyperskill/app/request_review/modal/view/mapper/RequestReviewModalViewStateMapper.kt @@ -1,13 +1,11 @@ package org.hyperskill.app.request_review.modal.view.mapper import org.hyperskill.app.SharedResources -import org.hyperskill.app.core.domain.platform.Platform import org.hyperskill.app.core.view.mapper.ResourceProvider import org.hyperskill.app.request_review.modal.presentation.RequestReviewModalFeature.State import org.hyperskill.app.request_review.modal.presentation.RequestReviewModalFeature.ViewState internal class RequestReviewModalViewStateMapper( - private val platform: Platform, private val resourceProvider: ResourceProvider ) { fun map(state: State): ViewState = @@ -15,8 +13,7 @@ internal class RequestReviewModalViewStateMapper( State.Awaiting, State.Positive -> ViewState( title = resourceProvider.getString( - SharedResources.strings.request_review_modal_state_awaiting_title, - resourceProvider.getString(platform.appNameResource) + SharedResources.strings.request_review_modal_state_awaiting_title ), description = null, positiveButtonText = resourceProvider.getString( diff --git a/shared/src/commonMain/kotlin/org/hyperskill/app/welcome_onboarding/questionnaire/view/WelcomeQuestionnaireViewStateMapper.kt b/shared/src/commonMain/kotlin/org/hyperskill/app/welcome_onboarding/questionnaire/view/WelcomeQuestionnaireViewStateMapper.kt index bf14cbcf2b..26975b8eb8 100644 --- a/shared/src/commonMain/kotlin/org/hyperskill/app/welcome_onboarding/questionnaire/view/WelcomeQuestionnaireViewStateMapper.kt +++ b/shared/src/commonMain/kotlin/org/hyperskill/app/welcome_onboarding/questionnaire/view/WelcomeQuestionnaireViewStateMapper.kt @@ -13,11 +13,6 @@ class WelcomeQuestionnaireViewStateMapper( private val platform: Platform, private val resourceProvider: ResourceProvider ) { - private val title = resourceProvider.getString( - SharedResources.strings.welcome_questionnaire_title_template, - resourceProvider.getString(platform.appNameResource) - ) - fun mapQuestionnaireTypeToViewState(type: WelcomeQuestionnaireType): WelcomeQuestionnaireViewState = when (type) { WelcomeQuestionnaireType.HOW_DID_YOU_HEAR_ABOUT_HYPERSKILL -> @@ -28,7 +23,7 @@ class WelcomeQuestionnaireViewStateMapper( private fun getHowDidYouHearAboutHyperskillViewState(): WelcomeQuestionnaireViewState = WelcomeQuestionnaireViewState( - title = title, + title = resourceProvider.getString(SharedResources.strings.welcome_questionnaire_title), items = listOf( WelcomeQuestionnaireItem( ClientSource.TIK_TOK, diff --git a/shared/src/commonMain/moko-resources/base/strings.xml b/shared/src/commonMain/moko-resources/base/strings.xml index ebc27bcb72..20e8644056 100644 --- a/shared/src/commonMain/moko-resources/base/strings.xml +++ b/shared/src/commonMain/moko-resources/base/strings.xml @@ -1,8 +1,7 @@ - My Hyperskill - Hyperskill + Hyperskill Connection was lost Sorry, something went wrong: please try again later. @@ -39,8 +38,8 @@ User name - Sign in to %s - Sign up to %s + Sign in to Hyperskill + Sign up to Hyperskill JetBrains Account Google GitHub @@ -475,8 +474,7 @@ Me: If the IDE knows I\'m missing a semicolon, why won\'t it just add it itself? 🤔 - My Hyperskill - Hyperskill + Hyperskill Code a little every day, wherever you are. Start for free I already have an account @@ -649,7 +647,7 @@ Search all of Hyperskill for topic theory - Do you enjoy\n%s app? + Do you enjoy\nHyperskill app? 👍 Yes 👎 No @@ -738,7 +736,7 @@ Start my journey - How did you hear about\n%s? + How did you hear about\nHyperskill? TikTok Google Search News/article/blog diff --git a/shared/src/iosMain/kotlin/org/hyperskill/app/application_shortcuts/domain/interactor/ApplicationShortcutsInteractor.kt b/shared/src/iosMain/kotlin/org/hyperskill/app/application_shortcuts/domain/interactor/ApplicationShortcutsInteractor.kt index 2400cdd0cc..7d6058537d 100644 --- a/shared/src/iosMain/kotlin/org/hyperskill/app/application_shortcuts/domain/interactor/ApplicationShortcutsInteractor.kt +++ b/shared/src/iosMain/kotlin/org/hyperskill/app/application_shortcuts/domain/interactor/ApplicationShortcutsInteractor.kt @@ -21,7 +21,7 @@ class ApplicationShortcutsInteractor( return FeedbackEmailDataBuilder.build( supportEmail = resourceProvider.getString(SharedResources.strings.settings_send_feedback_support_email), - applicationName = resourceProvider.getString(platform.appNameResource), + applicationName = resourceProvider.getString(SharedResources.strings.app_name), platform = platform, userId = currentProfile?.id, applicationVersion = userAgentInfo.versionCode diff --git a/shared/src/iosMain/kotlin/org/hyperskill/app/core/domain/platform/Platform.kt b/shared/src/iosMain/kotlin/org/hyperskill/app/core/domain/platform/Platform.kt index bc020ed73f..5d9e088074 100644 --- a/shared/src/iosMain/kotlin/org/hyperskill/app/core/domain/platform/Platform.kt +++ b/shared/src/iosMain/kotlin/org/hyperskill/app/core/domain/platform/Platform.kt @@ -1,7 +1,5 @@ package org.hyperskill.app.core.domain.platform -import dev.icerock.moko.resources.StringResource -import org.hyperskill.app.SharedResources import platform.UIKit.UIDevice actual class Platform actual constructor() { @@ -12,6 +10,4 @@ actual class Platform actual constructor() { actual val analyticName: String = "ios" actual val feedbackName: String = "iOS" - - actual val appNameResource: StringResource = SharedResources.strings.ios_app_name } \ No newline at end of file