mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-07 21:37:02 +09:00
DROID-3656 Payments | Legacy explorer tier (#2431)
This commit is contained in:
parent
775952ce2c
commit
9f706617be
6 changed files with 30 additions and 3 deletions
|
@ -20,6 +20,7 @@ fun TierId.isPossibleToUpgrade(
|
|||
fun TierId.isPossibleToUpgradeNumberOfSpaceMembers(): Boolean {
|
||||
return when (this.value) {
|
||||
MembershipConstants.NONE_ID -> true
|
||||
MembershipConstants.OLD_EXPLORER_ID -> true
|
||||
MembershipConstants.STARTER_ID -> true
|
||||
MembershipConstants.PIONEER_ID -> true
|
||||
MembershipConstants.NEW_EXPLORER_ID -> true
|
||||
|
@ -33,6 +34,7 @@ fun TierId.isPossibleToUpgradeNumberOfSpaceMembers(): Boolean {
|
|||
fun TierId.isPossibleToUpgradeStorageSpace(): Boolean {
|
||||
return when (this.value) {
|
||||
MembershipConstants.NONE_ID -> true
|
||||
MembershipConstants.OLD_EXPLORER_ID -> true
|
||||
MembershipConstants.STARTER_ID -> true
|
||||
MembershipConstants.PIONEER_ID -> true
|
||||
MembershipConstants.NEW_EXPLORER_ID -> true
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.anytypeio.anytype.core_models.membership
|
|||
object MembershipConstants {
|
||||
|
||||
const val NONE_ID = 0
|
||||
const val OLD_EXPLORER_ID = 1
|
||||
const val STARTER_ID = 21
|
||||
const val PIONEER_ID = 22
|
||||
const val NEW_EXPLORER_ID = 20
|
||||
|
@ -15,7 +16,7 @@ object MembershipConstants {
|
|||
const val TERMS_OF_SERVICE = "https://anytype.io/terms_of_use"
|
||||
const val MEMBERSHIP_CONTACT_EMAIL = "membership-upgrade@anytype.io"
|
||||
|
||||
val ACTIVE_TIERS_WITH_BANNERS = listOf(NONE_ID, STARTER_ID, PIONEER_ID)
|
||||
val ACTIVE_TIERS_WITH_BANNERS = listOf(NONE_ID, OLD_EXPLORER_ID, STARTER_ID, PIONEER_ID)
|
||||
|
||||
const val ERROR_PRODUCT_NOT_FOUND = "Product not found"
|
||||
const val ERROR_PRODUCT_PRICE = "Price of the product is not available"
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -13,6 +13,8 @@ import com.anytypeio.anytype.core_models.Id
|
|||
import com.anytypeio.anytype.core_models.ObjectWrapper
|
||||
import com.anytypeio.anytype.core_models.ext.isPossibleToUpgradeNumberOfSpaceMembers
|
||||
import com.anytypeio.anytype.core_models.membership.MembershipConstants.BUILDER_ID
|
||||
import com.anytypeio.anytype.core_models.membership.MembershipConstants.OLD_EXPLORER_ID
|
||||
import com.anytypeio.anytype.core_models.membership.MembershipConstants.PIONEER_ID
|
||||
import com.anytypeio.anytype.core_models.membership.MembershipConstants.STARTER_ID
|
||||
import com.anytypeio.anytype.core_models.membership.TierId
|
||||
import com.anytypeio.anytype.core_models.multiplayer.MultiplayerError
|
||||
|
@ -137,7 +139,7 @@ class SpaceJoinRequestViewModel(
|
|||
Timber.d("proceedWithState, tierId: $tierId, spaceView: $spaceView, spaceMembers: $spaceMembers, newMember: $newMember, isCurrentUserOwner: $isCurrentUserOwner")
|
||||
|
||||
val state = when (tierId.value) {
|
||||
STARTER_ID -> createExplorerState(
|
||||
STARTER_ID, OLD_EXPLORER_ID, PIONEER_ID -> createExplorerState(
|
||||
spaceView = spaceView,
|
||||
spaceMembers = spaceMembers,
|
||||
newMember = newMember,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue