Updated on 2026-08-14

This commit is contained in:
Tangem 2024-04-27 15:35:08 +03:00
parent b96f007568
commit fa7a381e04
131 changed files with 736 additions and 1778 deletions

View file

@ -1,5 +1,6 @@
package com.tangem.feature.referral.ui
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
@ -16,6 +17,7 @@ import androidx.compose.ui.unit.dp
import com.google.accompanist.web.WebView
import com.google.accompanist.web.rememberWebViewState
import com.tangem.core.ui.components.appbar.AppBarWithAdditionalButtons
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.feature.referral.presentation.R
@ -58,17 +60,10 @@ private fun AgreementHtmlView(url: String) {
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_AgreementBottomSheet_InLightTheme() {
TangemTheme(isDark = false) {
AgreementBottomSheetContent(url = "https://tangem.com/en/")
}
}
@Preview
@Composable
private fun Preview_AgreementBottomSheet_InDarkTheme() {
TangemTheme(isDark = true) {
private fun Preview_AgreementBottomSheet() {
TangemThemePreview {
AgreementBottomSheetContent(url = "https://tangem.com/en/")
}
}

View file

@ -1,5 +1,6 @@
package com.tangem.feature.referral.ui
import android.content.res.Configuration
import androidx.annotation.StringRes
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@ -15,6 +16,7 @@ import androidx.compose.ui.text.buildAnnotatedString
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.withStyle
import androidx.compose.ui.tooling.preview.Preview
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.feature.referral.presentation.R
@ -53,19 +55,10 @@ private fun annotatedAgreementString(firstPart: String): AnnotatedString {
}
@Preview(widthDp = 360, showBackground = true)
@Preview(widthDp = 360, showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_AgreementText_InLightTheme() {
TangemTheme(isDark = false) {
Box(modifier = Modifier.background(TangemTheme.colors.background.primary)) {
AgreementText(firstPartResId = R.string.referral_tos_not_enroled_prefix, onClick = {})
}
}
}
@Preview(widthDp = 360, showBackground = true)
@Composable
private fun Preview_AgreementText_InDarkTheme() {
TangemTheme(isDark = true) {
private fun Preview_AgreementText() {
TangemThemePreview {
Box(modifier = Modifier.background(TangemTheme.colors.background.primary)) {
AgreementText(firstPartResId = R.string.referral_tos_not_enroled_prefix, onClick = {})
}

View file

@ -10,6 +10,7 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.tooling.preview.Preview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.res.TangemThemePreview
@Suppress("LongParameterList")
@Composable
@ -56,8 +57,8 @@ internal fun AwardText(
@Preview(widthDp = 360, showBackground = true)
@Composable
private fun Preview_AwardItem_Light() {
TangemTheme {
private fun Preview_AwardItem() {
TangemThemePreview {
AwardText(
startText = "startText",
startTextColor = TangemTheme.colors.text.tertiary,

View file

@ -1,5 +1,6 @@
package com.tangem.feature.referral.ui
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
@ -8,6 +9,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import com.tangem.core.ui.components.PrimaryEndIconButton
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.feature.referral.presentation.R
@ -28,19 +30,10 @@ internal fun NonParticipateBottomBlock(onAgreementClick: () -> Unit, onParticipa
}
@Preview(widthDp = 360, showBackground = true)
@Preview(widthDp = 360, showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_NonParticipateBottomBlock_InLightTheme() {
TangemTheme(isDark = false) {
Column(Modifier.background(TangemTheme.colors.background.primary)) {
NonParticipateBottomBlock(onAgreementClick = {}, onParticipateClick = {})
}
}
}
@Preview(widthDp = 360, showBackground = true)
@Composable
private fun Preview_NonParticipateBottomBlock_InDarkTheme() {
TangemTheme(isDark = true) {
private fun Preview_NonParticipateBottomBlock() {
TangemThemePreview {
Column(Modifier.background(TangemTheme.colors.background.primary)) {
NonParticipateBottomBlock(onAgreementClick = {}, onParticipateClick = {})
}

View file

@ -2,6 +2,7 @@ package com.tangem.feature.referral.ui
import android.content.Context
import android.content.Intent
import android.content.res.Configuration
import androidx.compose.animation.*
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
@ -31,6 +32,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.tooling.preview.datasource.CollectionPreviewParameterProvider
import androidx.core.content.ContextCompat.startActivity
import com.tangem.core.ui.components.*
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.feature.referral.domain.models.ExpectedAward
import com.tangem.feature.referral.domain.models.ExpectedAwards
@ -318,11 +320,12 @@ private fun Context.shareText(text: String) {
}
@Preview(widthDp = 360, showBackground = true)
@Preview(widthDp = 360, showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun ParticipateBottomBlockPreview_Light(
private fun ParticipateBottomBlockPreview(
@PreviewParameter(ParticipateBottomBlockDataProvider::class) data: ParticipateBottomBlockData,
) {
TangemTheme(isDark = false) {
TangemThemePreview {
Column(Modifier.background(TangemTheme.colors.background.secondary)) {
ParticipateBottomBlock(
purchasedWalletCount = data.purchasedWalletCount,
@ -339,42 +342,10 @@ private fun ParticipateBottomBlockPreview_Light(
}
@Preview(widthDp = 360, showBackground = true)
@Preview(widthDp = 360, showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun ParticipateBottomBlockPreview_Dark(
@PreviewParameter(ParticipateBottomBlockDataProvider::class) state: ParticipateBottomBlockData,
) {
TangemTheme(isDark = true) {
Column(Modifier.background(TangemTheme.colors.background.secondary)) {
ParticipateBottomBlock(
purchasedWalletCount = state.purchasedWalletCount,
code = state.code,
shareLink = state.shareLink,
expectedAwards = state.expectedAwards,
onAgreementClick = state.onAgreementClick,
onShowCopySnackbar = state.onShowCopySnackbar,
onCopyClick = state.onCopyClick,
onShareClick = state.onShareClick,
)
}
}
}
@Preview(widthDp = 360, showBackground = true)
@Composable
private fun LessMoreButton_Light() {
TangemTheme(isDark = false) {
LessMoreButton(
isExpanded = remember {
mutableStateOf(false)
},
)
}
}
@Preview(widthDp = 360, showBackground = true)
@Composable
private fun LessMoreButton_Dark() {
TangemTheme(isDark = true) {
private fun LessMoreButtonPreview() {
TangemThemePreview {
LessMoreButton(
isExpanded = remember {
mutableStateOf(false)

View file

@ -1,5 +1,6 @@
package com.tangem.feature.referral.ui
import android.content.res.Configuration
import androidx.annotation.DrawableRes
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@ -27,6 +28,7 @@ import com.tangem.core.ui.components.SpacerH16
import com.tangem.core.ui.components.SpacerH24
import com.tangem.core.ui.components.SpacerH32
import com.tangem.core.ui.components.appbar.AppBarWithBackButton
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.feature.referral.domain.models.ExpectedAward
import com.tangem.feature.referral.domain.models.ExpectedAwards
@ -446,9 +448,10 @@ private fun getMessageForErrorSnackbar(errorSnackbar: ErrorSnackbar): String {
}
@Preview(widthDp = 360, showBackground = true)
@Preview(widthDp = 360, showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_ReferralScreen_Participant_InLightTheme() {
TangemTheme(isDark = false) {
private fun Preview_ReferralScreen_Participant() {
TangemThemePreview {
ReferralScreen(
stateHolder = ReferralStateHolder(
headerState = HeaderState(onBackClicked = {}),
@ -475,38 +478,10 @@ private fun Preview_ReferralScreen_Participant_InLightTheme() {
}
@Preview(widthDp = 360, showBackground = true)
@Preview(widthDp = 360, showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_ReferralScreen_Participant_InDarkTheme() {
TangemTheme(isDark = true) {
ReferralScreen(
stateHolder = ReferralStateHolder(
headerState = HeaderState(onBackClicked = {}),
referralInfoState = ReferralInfoState.ParticipantContent(
award = "10 USDT",
networkName = "Tron",
address = "ma80...zk8q2",
discount = "10%",
purchasedWalletCount = 3,
code = "x4JdK",
shareLink = "",
url = "",
expectedAwards = null,
),
errorSnackbar = ErrorSnackbar(DemoModeException()) {},
analytics = Analytics(
onAgreementClicked = {},
onCopyClicked = {},
onShareClicked = {},
),
),
)
}
}
@Preview(widthDp = 360, showBackground = true)
@Composable
private fun Preview_ReferralScreen_Participant_With_Referrals_InLightTheme() {
TangemTheme(isDark = false) {
private fun Preview_ReferralScreen_Participant_With_Referrals() {
TangemThemePreview {
ReferralScreen(
stateHolder = ReferralStateHolder(
headerState = HeaderState(onBackClicked = {}),
@ -549,9 +524,10 @@ private fun Preview_ReferralScreen_Participant_With_Referrals_InLightTheme() {
}
@Preview(widthDp = 360, showBackground = true)
@Preview(widthDp = 360, showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_ReferralScreen_NonParticipant_InLightTheme() {
TangemTheme(isDark = false) {
private fun Preview_ReferralScreen_NonParticipant() {
TangemThemePreview {
ReferralScreen(
stateHolder = ReferralStateHolder(
headerState = HeaderState(onBackClicked = {}),
@ -574,53 +550,10 @@ private fun Preview_ReferralScreen_NonParticipant_InLightTheme() {
}
@Preview(widthDp = 360, showBackground = true)
@Preview(widthDp = 360, showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_ReferralScreen_NonParticipant_InDarkTheme() {
TangemTheme(isDark = true) {
ReferralScreen(
stateHolder = ReferralStateHolder(
headerState = HeaderState(onBackClicked = {}),
referralInfoState = ReferralInfoState.NonParticipantContent(
award = "10 USDT",
networkName = "Tron",
discount = "10%",
url = "",
onParticipateClicked = {},
),
errorSnackbar = null,
analytics = Analytics(
onAgreementClicked = {},
onCopyClicked = {},
onShareClicked = {},
),
),
)
}
}
@Preview(widthDp = 360, showBackground = true)
@Composable
private fun Preview_ReferralScreen_Loading_InLightTheme() {
TangemTheme(isDark = false) {
ReferralScreen(
stateHolder = ReferralStateHolder(
headerState = HeaderState(onBackClicked = {}),
referralInfoState = ReferralInfoState.Loading,
errorSnackbar = null,
analytics = Analytics(
onAgreementClicked = {},
onCopyClicked = {},
onShareClicked = {},
),
),
)
}
}
@Preview(widthDp = 360, showBackground = true)
@Composable
private fun Preview_ReferralScreen_Loading_InDarkTheme() {
TangemTheme(isDark = true) {
private fun Preview_ReferralScreen_Loading() {
TangemThemePreview {
ReferralScreen(
stateHolder = ReferralStateHolder(
headerState = HeaderState(onBackClicked = {}),