Skip to content

Commit ecd3fc7

Browse files
committed
Add missing preview on LoginModeView
1 parent df731a6 commit ecd3fc7

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
* Copyright 2025 New Vector Ltd.
3+
*
4+
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
5+
* Please see LICENSE files in the repository root for full details.
6+
*/
7+
8+
package io.element.android.features.login.impl.error
9+
10+
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
11+
import io.element.android.features.login.impl.R
12+
13+
class ChangeServerErrorProvider : PreviewParameterProvider<ChangeServerError> {
14+
override val values: Sequence<ChangeServerError>
15+
get() = sequenceOf(
16+
ChangeServerError.Error(
17+
messageId = R.string.screen_change_server_error_invalid_homeserver,
18+
),
19+
ChangeServerError.Error(
20+
messageStr = "An error description",
21+
),
22+
ChangeServerError.NeedElementPro(
23+
unauthorisedAccountProviderTitle = "element.io",
24+
applicationId = "io.element.enterprise",
25+
),
26+
ChangeServerError.UnauthorizedAccountProvider(
27+
unauthorisedAccountProviderTitle = "element.io",
28+
authorisedAccountProviderTitles = listOf("provider.org", "provider.io"),
29+
),
30+
ChangeServerError.SlidingSyncAlert,
31+
)
32+
}

features/login/impl/src/main/kotlin/io/element/android/features/login/impl/login/LoginModeView.kt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,18 @@ package io.element.android.features.login.impl.login
1010
import androidx.compose.runtime.Composable
1111
import androidx.compose.ui.platform.LocalContext
1212
import androidx.compose.ui.res.stringResource
13+
import androidx.compose.ui.tooling.preview.PreviewParameter
1314
import io.element.android.features.login.impl.R
1415
import io.element.android.features.login.impl.dialogs.SlidingSyncNotSupportedDialog
1516
import io.element.android.features.login.impl.error.ChangeServerError
17+
import io.element.android.features.login.impl.error.ChangeServerErrorProvider
1618
import io.element.android.features.login.impl.screens.createaccount.AccountCreationNotSupported
1719
import io.element.android.libraries.androidutils.system.openGooglePlay
1820
import io.element.android.libraries.architecture.AsyncData
1921
import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog
2022
import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
23+
import io.element.android.libraries.designsystem.preview.ElementPreview
24+
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
2125
import io.element.android.libraries.designsystem.theme.LocalBuildMeta
2226
import io.element.android.libraries.matrix.api.auth.OidcDetails
2327
import io.element.android.libraries.ui.strings.CommonStrings
@@ -106,3 +110,18 @@ fun LoginModeView(
106110
AsyncData.Uninitialized -> Unit
107111
}
108112
}
113+
114+
@PreviewsDayNight
115+
@Composable
116+
internal fun LoginModeViewPreview(@PreviewParameter(ChangeServerErrorProvider::class) error: ChangeServerError) {
117+
ElementPreview {
118+
LoginModeView(
119+
loginMode = AsyncData.Failure(error),
120+
onClearError = {},
121+
onLearnMoreClick = {},
122+
onOidcDetails = {},
123+
onNeedLoginPassword = {},
124+
onCreateAccountContinue = {}
125+
)
126+
}
127+
}

0 commit comments

Comments
 (0)