1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 05:47:05 +09:00

DROID-3656 Payments | Legacy explorer tier (#2431)

This commit is contained in:
Konstantin Ivanov 2025-05-22 11:56:32 +02:00 committed by GitHub
parent 775952ce2c
commit 9f706617be
Signed by: github
GPG key ID: B5690EEEBB952194
6 changed files with 30 additions and 3 deletions

View file

@ -184,6 +184,12 @@ private fun MembershipTierData.mapActiveTierButtonAndNameStates(
val wasPurchasedOnAndroid = isActiveTierPurchasedOnAndroid(paymentMethod)
if (!wasPurchasedOnAndroid) {
return when {
id == MembershipConstants.OLD_EXPLORER_ID && userEmail.isBlank() -> {
TierButton.Submit.Enabled to TierAnyName.Hidden
}
id == MembershipConstants.OLD_EXPLORER_ID -> {
TierButton.ChangeEmail to TierAnyName.Hidden
}
id == MembershipConstants.STARTER_ID && userEmail.isBlank() -> {
TierButton.Submit.Enabled to TierAnyName.Hidden
}
@ -448,6 +454,9 @@ private fun convertToTierViewPeriod(tier: MembershipTierData): TierPeriod {
private fun MembershipTierData.getTierEmail(isActive: Boolean, membershipEmail: String): TierEmail {
if (isActive) {
if (id == MembershipConstants.OLD_EXPLORER_ID && membershipEmail.isBlank()) {
return TierEmail.Visible.Enter
}
if (id == MembershipConstants.STARTER_ID && membershipEmail.isBlank()) {
return TierEmail.Visible.Enter
}

View file

@ -41,6 +41,7 @@ import com.anytypeio.anytype.core_ui.views.fontInterSemibold
import com.anytypeio.anytype.core_models.membership.MembershipConstants.BUILDER_ID
import com.anytypeio.anytype.core_models.membership.MembershipConstants.CO_CREATOR_ID
import com.anytypeio.anytype.core_models.membership.MembershipConstants.NEW_EXPLORER_ID
import com.anytypeio.anytype.core_models.membership.MembershipConstants.OLD_EXPLORER_ID
import com.anytypeio.anytype.core_models.membership.MembershipConstants.STARTER_ID
import com.anytypeio.anytype.core_models.membership.MembershipConstants.PIONEER_ID
import com.anytypeio.anytype.payments.models.TierPreview
@ -159,6 +160,12 @@ fun mapTierToResources(tier: Tier): TierResources {
colors = toValue(tier.color),
features = tier.features,
)
OLD_EXPLORER_ID -> TierResources(
mediumIcon = R.drawable.logo_explorer_96,
smallIcon = R.drawable.logo_explorer_64,
colors = toValue(tier.color),
features = tier.features,
)
STARTER_ID -> TierResources(
mediumIcon = R.drawable.logo_explorer_96,
smallIcon = R.drawable.logo_explorer_64,
@ -200,6 +207,11 @@ fun mapTierPreviewToResources(tier: TierPreview): TierResources {
smallIcon = R.drawable.logo_co_creator_64,
colors = toValue(tier.color)
)
OLD_EXPLORER_ID -> TierResources(
mediumIcon = R.drawable.logo_explorer_96,
smallIcon = R.drawable.logo_explorer_64,
colors = toValue(tier.color)
)
STARTER_ID -> TierResources(
mediumIcon = R.drawable.logo_explorer_96,
smallIcon = R.drawable.logo_explorer_64,

View file

@ -14,6 +14,7 @@ import com.anytypeio.anytype.core_models.membership.EmailVerificationStatus
import com.anytypeio.anytype.core_models.membership.MembershipConstants.STARTER_ID
import com.anytypeio.anytype.core_models.membership.MembershipConstants.MEMBERSHIP_NAME_MIN_LENGTH
import com.anytypeio.anytype.core_models.membership.MembershipConstants.NONE_ID
import com.anytypeio.anytype.core_models.membership.MembershipConstants.OLD_EXPLORER_ID
import com.anytypeio.anytype.core_models.membership.MembershipErrors
import com.anytypeio.anytype.core_models.membership.MembershipPaymentMethod
import com.anytypeio.anytype.core_models.membership.MembershipStatus
@ -458,7 +459,7 @@ class MembershipViewModel(
(tierState.value as? MembershipTierState.Visible)?.tier ?: return@fold
when (status) {
EmailVerificationStatus.STATUS_VERIFIED -> {
if (tierView.id.value == STARTER_ID) {
if (tierView.id.value == STARTER_ID || tierView.id.value == OLD_EXPLORER_ID) {
anyEmailState.clearText()
val updatedState = tierView.copy(
email = TierEmail.Hidden,