Add missing preview on LoginModeView

This commit is contained in:
Benoit Marty 2025-08-06 14:40:37 +02:00
parent df731a6037
commit ecd3fc7ed1
2 changed files with 51 additions and 0 deletions

View file

@ -0,0 +1,32 @@
/*
* Copyright 2025 New Vector Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.login.impl.error
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.features.login.impl.R
class ChangeServerErrorProvider : PreviewParameterProvider<ChangeServerError> {
override val values: Sequence<ChangeServerError>
get() = sequenceOf(
ChangeServerError.Error(
messageId = R.string.screen_change_server_error_invalid_homeserver,
),
ChangeServerError.Error(
messageStr = "An error description",
),
ChangeServerError.NeedElementPro(
unauthorisedAccountProviderTitle = "element.io",
applicationId = "io.element.enterprise",
),
ChangeServerError.UnauthorizedAccountProvider(
unauthorisedAccountProviderTitle = "element.io",
authorisedAccountProviderTitles = listOf("provider.org", "provider.io"),
),
ChangeServerError.SlidingSyncAlert,
)
}

View file

@ -10,14 +10,18 @@ package io.element.android.features.login.impl.login
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.PreviewParameter
import io.element.android.features.login.impl.R
import io.element.android.features.login.impl.dialogs.SlidingSyncNotSupportedDialog
import io.element.android.features.login.impl.error.ChangeServerError
import io.element.android.features.login.impl.error.ChangeServerErrorProvider
import io.element.android.features.login.impl.screens.createaccount.AccountCreationNotSupported
import io.element.android.libraries.androidutils.system.openGooglePlay
import io.element.android.libraries.architecture.AsyncData
import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog
import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.theme.LocalBuildMeta
import io.element.android.libraries.matrix.api.auth.OidcDetails
import io.element.android.libraries.ui.strings.CommonStrings
@ -106,3 +110,18 @@ fun LoginModeView(
AsyncData.Uninitialized -> Unit
}
}
@PreviewsDayNight
@Composable
internal fun LoginModeViewPreview(@PreviewParameter(ChangeServerErrorProvider::class) error: ChangeServerError) {
ElementPreview {
LoginModeView(
loginMode = AsyncData.Failure(error),
onClearError = {},
onLearnMoreClick = {},
onOidcDetails = {},
onNeedLoginPassword = {},
onCreateAccountContinue = {}
)
}
}