TP-59976 | Sohan Reddy | Milestones UAT fixes (#10064)

This commit is contained in:
Sohan Reddy Atukula
2024-03-11 15:14:34 +05:30
committed by GitHub
parent 469287fef7
commit 25d0c84259
6 changed files with 168 additions and 162 deletions

View File

@@ -7,16 +7,27 @@
package com.navi.rr.milestones.models
import com.navi.common.forge.model.ScreenStructure
data class MilestoneBottomSheet (
var index: Int,
var coinsValue: Long,
var referralsCompleted: Int,
var totalReferralsCompleted: Int,
var referralsToCompleteForReward: Int
var referralsToCompleteForReward: Int,
var lastIndex: Int,
var defaultRewardAmount: Long
)
data class MilestoneBottomSheetRenderProps (
val index: Int,
val coinsValue: Long,
val milestoneID: String
val screen: ScreenStructure?,
val dataMap: Map<String, Any?>,
val milestoneID: String,
)
data class MilestoneBottomSheetDataMap (
val key: String? = null,
var value: Any? = null,
var pluralValue: String? = null,
val pluralCheck: String? = null
)

View File

@@ -41,6 +41,7 @@ import com.navi.rr.referral.ui.compose.CashHeaderPill
import com.navi.rr.referral.ui.compose.CoinsHeaderPill
import com.navi.rr.referral.ui.compose.TextWithShadow
import com.navi.rr.utils.Constants.NEXT_MILESTONE_INDEX
import com.navi.rr.utils.Constants.CAPITAL_S
import com.navi.rr.utils.ReferralHomeConstants.CASH_HISTORY_CTA
import com.navi.rr.utils.ReferralHomeConstants.COINS_HISTORY_CTA
@@ -109,7 +110,7 @@ fun MileStoneRenderer(
Column(modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) {
if(moreToWinNum >= 0) {
milestoneData?.milestoneNudgeText?.let {
TextWithShadow(String.format(it, moreToWinNum))
TextWithShadow(String.format(it, moreToWinNum, if(moreToWinNum>1) CAPITAL_S else EMPTY))
} ?: run {
TextWithShadow(stringResource(R.string.just_more_to_win, moreToWinNum))
}

View File

@@ -282,7 +282,10 @@ fun FinalTicketInImage(
)
Text(
text = formatIndianNumericAbbreviation(coinsAmt),
text = stringResource(
R.string.plus_amount,
formatIndianNumericAbbreviation(coinsAmt)
),
fontSize = 12.sp,
fontFamily = ttComposeFontFamily,
lineHeight = 16.sp,
@@ -864,7 +867,10 @@ fun MileStone(
}
if (showGratification) {
MileStoneCompletedAnimation(
coinsAmt = milestoneAnimationValue?.coinsAmt ?: stringResource(R.string.EMPTY_STRING),
coinsAmt = stringResource(
R.string.plus_amount,
milestoneAnimationValue?.coinsAmt ?: EMPTY
),
index = milestoneAnimationValue?.playAtIndex ?: 0,
isFinal = milestoneAnimationValue?.isFinal ?: false,
lazyListState = lazyListState,
@@ -943,7 +949,9 @@ fun MileStone(
?: scrollState.maxValue.toFloat())) index else endIndex,
totalReferralsCompleted = endIndex,
referralsToCompleteForReward = if(currentPercentage >= (positionMap[megaStageMap[i]?.rewardStage]
?: scrollState.maxValue.toFloat())) nextMilestone else index - endIndex
?: scrollState.maxValue.toFloat())) nextMilestone else index - endIndex,
lastIndex = totalStages,
defaultRewardAmount = milestoneData?.defaultStage?.rewardAmount?:0,
)
)
},

View File

@@ -47,4 +47,16 @@ fun getMilestoneGratificationAnimationPaddingValues(scaleValue: Float): Float {
fun getMilestoneGratificationAnimationSpec(scaleValue: Float): AnimationSpec<Float> {
return if(scaleValue!= 0.5f) spring<Float>(dampingRatio = Spring.DampingRatioMediumBouncy, stiffness = Spring.StiffnessLow) else tween(durationMillis = 300)
}
fun setPluralText(value: String, checkingVariable: String, pluralValue: String): String {
return try {
if (checkingVariable.toInt() > 1) {
pluralValue
} else {
value
}
} catch (e: Exception) {
value
}
}

View File

@@ -72,6 +72,7 @@ import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.isGranted
import com.google.accompanist.permissions.rememberPermissionState
import com.google.accompanist.systemuicontroller.rememberSystemUiController
import com.google.gson.reflect.TypeToken
import com.navi.alfred.AlfredManager
import com.navi.base.deeplink.DeepLinkManager
import com.navi.base.model.CtaData
@@ -79,6 +80,7 @@ import com.navi.base.sharedpref.PreferenceManager
import com.navi.base.utils.EMPTY
import com.navi.base.utils.isNotNull
import com.navi.base.utils.isNull
import com.navi.common.forge.model.ScreenStructure
import com.navi.common.forge.model.WidgetModelDefinition
import com.navi.common.uitron.model.action.CtaAction
import com.navi.common.utils.Constants
@@ -100,57 +102,53 @@ import com.navi.rr.leaderboard.utils.Constants.LEADERBOARD_NAME
import com.navi.rr.leaderboard.utils.Constants.SHOW_LOTTIE
import com.navi.rr.leaderboard.vm.LeaderboardScreenVM
import com.navi.rr.milestones.models.MilestoneBottomSheet
import com.navi.rr.milestones.models.MilestoneBottomSheetDataMap
import com.navi.rr.milestones.models.MilestoneBottomSheetRenderProps
import com.navi.rr.milestones.models.MilestoneTicketUrl
import com.navi.rr.milestones.utils.setPluralText
import com.navi.rr.referral.ui.activity.ReferralHomeActivity
import com.navi.rr.referral.viewmodels.RefereeTrackerVM
import com.navi.rr.referral.viewmodels.ReferralGratificationScreenState
import com.navi.rr.referral.viewmodels.ReferralHomeScreenState
import com.navi.rr.referral.viewmodels.ReferralHomeVM
import com.navi.rr.utils.Constants.COINS_VALUE
import com.navi.rr.utils.Constants.DEFAULT_REWARD_AMOUNT
import com.navi.rr.utils.Constants.GENERIC_SHARE
import com.navi.rr.utils.Constants.NEW_LINE
import com.navi.rr.utils.Constants.INDEX
import com.navi.rr.utils.Constants.INDEX_TH
import com.navi.rr.utils.Constants.LAST_INDEX
import com.navi.rr.utils.Constants.REFERRALS_TO_COMPLETE_FOR_REWARD
import com.navi.rr.utils.Constants.REFERRAL_COMPLETED
import com.navi.rr.utils.Constants.REFERRAL_HOME_SCREEN
import com.navi.rr.utils.Constants.SHOW_CONTACT_BOOK_BOTTOM_SHEET
import com.navi.rr.utils.Constants.SHOW_REFERRAL_LOTTIE
import com.navi.rr.utils.Constants.TIMER_ENDS
import com.navi.rr.utils.Constants.TOTAL_REFERRALS_COMPLETED
import com.navi.rr.utils.NaviRRAnalytics
import com.navi.rr.utils.NaviRRAnalytics.Companion.MILESTONE_BOTTOMSHEET_VIEW
import com.navi.rr.utils.NaviRRAnalytics.Companion.MILESTONE_IDENTIFIER
import com.navi.rr.utils.RefereeTrackerConstants.MILESTONE_BOTTOM_SHEET_DATA_MAP
import com.navi.rr.utils.ReferralHomeConstants.ALL_MILESTONES_COMPLETED
import com.navi.rr.utils.ReferralHomeConstants.BOTTOMSHEET_HEADING
import com.navi.rr.utils.ReferralHomeConstants.CASH_INVESTMENT_BOTTOMSHEET
import com.navi.rr.utils.ReferralHomeConstants.COINS_VAL
import com.navi.rr.utils.ReferralHomeConstants.COINS_VALUE
import com.navi.rr.utils.ReferralHomeConstants.COIN_INVESTMENT_BOTTOMSHEET
import com.navi.rr.utils.ReferralHomeConstants.GOLDEN_BOTTOMSHEET
import com.navi.rr.utils.ReferralHomeConstants.GREY_BOTTOMSHEET
import com.navi.rr.utils.ReferralHomeConstants.HEADING
import com.navi.rr.utils.ReferralHomeConstants.MORE
import com.navi.rr.utils.ReferralHomeConstants.MORE_REFERRAL_TEXT
import com.navi.rr.utils.ReferralHomeConstants.MORE_TO_WIN_VAL
import com.navi.rr.utils.ReferralHomeConstants.N_REFERRAL_COMPLETED
import com.navi.rr.utils.ReferralHomeConstants.RECEIVED_MESSAGE
import com.navi.rr.utils.ReferralHomeConstants.REFERRAL_AWAY
import com.navi.rr.utils.ReferralHomeConstants.REFERRAL_COMPLETED
import com.navi.rr.utils.ReferralHomeConstants.REFERRAL_COMPLETED_VAL
import com.navi.rr.utils.ReferralHomeConstants.SUCCESSFUL
import com.navi.rr.utils.ReferralHomeConstants.WON_REFERRAL_COMPLETED_VAL
import com.navi.rr.utils.ReferralHomeConstants.YELLOW_BOTTOMSHEET
import com.navi.rr.utils.ReferralHomeConstants.YOU_HAVE_WON_BOTTOMSHEET
import com.navi.rr.utils.clickable
import com.navi.rr.utils.formatIndianNumericAbbreviation
import com.navi.rr.utils.getGsonBuilders
import com.navi.rr.utils.getNumberSuffix
import com.navi.rr.utils.getReferralOrReferralsFromNumber
import com.navi.rr.utils.injectData
import com.navi.rr.utils.openSettings
import com.navi.rr.widgetFactory.WidgetRenderer
import com.navi.uitron.model.UiTronResponse
import com.navi.uitron.model.data.SpannableTextData
import com.navi.uitron.model.data.TextData
import com.ramcosta.composedestinations.annotation.Destination
import com.ramcosta.composedestinations.annotation.RootNavGraph
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import java.lang.reflect.Type
import com.navi.design.R as DesignR
import com.navi.naviwidgets.R as WidgetR
@@ -163,7 +161,7 @@ fun ReferralHomeScreen(
referralHomeVM: ReferralHomeVM = hiltViewModel(),
leaderboardScreenVM: LeaderboardScreenVM = hiltViewModel(),
refereeTrackerVM: RefereeTrackerVM = hiltViewModel(),
navigator: DestinationsNavigator
navigator: DestinationsNavigator,
) {
val context = LocalContext.current as ReferralHomeActivity
val coroutineScope = rememberCoroutineScope()
@@ -209,8 +207,14 @@ fun ReferralHomeScreen(
val bottomSheetMap: MutableMap<String, WidgetModelDefinition<UiTronResponse>> = remember {
mutableMapOf()
}
val systemUiController = rememberSystemUiController()
val listState = rememberLazyListState()
var bottomSheetList: Map<String, ScreenStructure> = remember { emptyMap() }
var jsonMetaData: Map<String, Any?>? = remember { emptyMap() }
val dataMapType: Type = remember {
object : TypeToken<List<MilestoneBottomSheetDataMap?>?>() {}.type
}
fun fetchAndSaveRefereeTrackerDetails() {
refereeTrackerVM.fetchAndSaveRefereeTrackerScreenV2()
@@ -226,117 +230,59 @@ fun ReferralHomeScreen(
}
}
}
fun renderMilestonesBottomSheet(
bottomSheetId: String,
milestoneBottomSheetData: MilestoneBottomSheet
milestoneBottomSheetData: MilestoneBottomSheet,
) {
coroutineScope.launch(Dispatchers.IO) {
val bottomSheetResponse = bottomSheetMap[bottomSheetId]
bottomSheetResponse?.widgetData?.data.let {
it?.forEach { data ->
if (data.value is SpannableTextData && data.key == BOTTOMSHEET_HEADING) {
val spannableTextData = data.value as SpannableTextData
spannableTextData.textMap?.forEach { (key, _) ->
if (key == REFERRAL_AWAY) {
(data.value as SpannableTextData).textMap?.set(
key,
"${milestoneBottomSheetData.referralsToCompleteForReward} ${
getReferralOrReferralsFromNumber(
milestoneBottomSheetData.referralsToCompleteForReward
)
}"
)
}
}
} else if (data.value is TextData && data.key == COINS_VALUE) {
(data.value as TextData).text =
milestoneBottomSheetData.coinsValue.toString()
} else if (data.value is SpannableTextData && data.key == HEADING) {
val spannableTextData = data.value as SpannableTextData
spannableTextData.textMap?.forEach { (key, _) ->
if (key == REFERRAL_COMPLETED) {
(data.value as SpannableTextData).textMap?.set(
key,
"${milestoneBottomSheetData.totalReferralsCompleted} ${
getReferralOrReferralsFromNumber(
milestoneBottomSheetData.totalReferralsCompleted
)
}"
)
}
}
} else if (data.value is SpannableTextData && data.key == RECEIVED_MESSAGE) {
val spannableTextData = data.value as SpannableTextData
spannableTextData.textMap?.forEach { (key, _) ->
when (key) {
REFERRAL_COMPLETED_VAL -> {
(data.value as SpannableTextData).textMap?.set(
key,
"${milestoneBottomSheetData.referralsCompleted} $SUCCESSFUL ${
getReferralOrReferralsFromNumber(
milestoneBottomSheetData.referralsCompleted
)
}.$NEW_LINE"
)
}
MORE_TO_WIN_VAL -> {
(data.value as SpannableTextData).textMap?.set(
key,
milestoneBottomSheetData.referralsToCompleteForReward.toString()
)
}
WON_REFERRAL_COMPLETED_VAL -> {
(data.value as SpannableTextData).textMap?.set(
key,
"${milestoneBottomSheetData.referralsCompleted}${
getNumberSuffix(milestoneBottomSheetData.referralsCompleted)
}"
)
}
MORE_REFERRAL_TEXT -> {
(data.value as SpannableTextData).textMap?.set(
key,
"${milestoneBottomSheetData.referralsToCompleteForReward} $MORE ${
getReferralOrReferralsFromNumber(
milestoneBottomSheetData.referralsToCompleteForReward
)
}"
)
}
COINS_VAL -> {
(data.value as SpannableTextData).textMap?.set(
key,
milestoneBottomSheetData.coinsValue.toString()
)
}
N_REFERRAL_COMPLETED -> {
spannableTextData.textMap!![key] =
milestoneBottomSheetData.referralsCompleted.toString()
}
coroutineScope.launch(Dispatchers.Default) {
var bottomSheetResponse = bottomSheetList[bottomSheetId]
val variableDataMap = mutableMapOf<String, String>()
variableDataMap.apply {
put(REFERRAL_COMPLETED, milestoneBottomSheetData.referralsCompleted.toString())
put(TOTAL_REFERRALS_COMPLETED, milestoneBottomSheetData.totalReferralsCompleted.toString())
put(REFERRALS_TO_COMPLETE_FOR_REWARD, milestoneBottomSheetData.referralsToCompleteForReward.toString())
put(LAST_INDEX, milestoneBottomSheetData.lastIndex.toString())
put(COINS_VALUE, milestoneBottomSheetData.coinsValue.toString())
put(INDEX, milestoneBottomSheetData.index.toString())
put(INDEX_TH, milestoneBottomSheetData.index.toString().plus(getNumberSuffix(milestoneBottomSheetData.index)))
put(DEFAULT_REWARD_AMOUNT, milestoneBottomSheetData.defaultRewardAmount.toString())
}
jsonMetaData?.get(MILESTONE_BOTTOM_SHEET_DATA_MAP)?.let {
val json = getGsonBuilders().toJson(it)
val milestoneBottomSheetDataMap: List<MilestoneBottomSheetDataMap> = getGsonBuilders().fromJson(json, dataMapType)
milestoneBottomSheetDataMap.forEach { dataMap ->
dataMap.key?.let { key ->
dataMap.pluralCheck?.let { pluralCheck ->
variableDataMap[pluralCheck]?.let { value ->
dataMap.value = setPluralText(dataMap.value.toString(), value, dataMap.pluralValue.toString())
}
}
variableDataMap[key] = dataMap.value.toString()
}
}
}
bottomSheetId.let {
bottomSheetMap[bottomSheetId]?.let {
showMilestoneBottomSheet = MilestoneBottomSheetRenderProps(index = milestoneBottomSheetData.index, coinsValue = milestoneBottomSheetData.coinsValue, milestoneID = bottomSheetId)
bottomSheetData.value = it
}
bottomSheetResponse = bottomSheetResponse?.let {
injectData(
injectionObject = bottomSheetResponse,
dataMap = variableDataMap
)
} ?: ScreenStructure()
bottomSheetMap[bottomSheetId]?.let {
showMilestoneBottomSheet = MilestoneBottomSheetRenderProps(
screen = bottomSheetResponse,
dataMap = variableDataMap,
milestoneID = bottomSheetId
)
}
}
}
BackHandler {
if(!navigator.navigateUp())
context.finish()
}
LaunchedEffect(Unit) {
referralHomeVM.ctaNavigation.collect { action ->
when (action) {
@@ -447,6 +393,7 @@ fun ReferralHomeScreen(
if (it) navigator.navigateUp()
}
}
LaunchedEffect(permissionRequested) {
if (permissionRequested) {
if (contactsPermissionState.status.isGranted) {
@@ -456,6 +403,7 @@ fun ReferralHomeScreen(
}
}
}
LaunchedEffect(referralHomeScreenState) {
when(referralHomeScreenState) {
is ReferralHomeScreenState.Success -> {
@@ -465,6 +413,7 @@ fun ReferralHomeScreen(
else -> {}
}
}
LaunchedEffect(Unit) {
referralHomeVM.fetchReferralPopupScreen()
fetchAndSaveRefereeTrackerDetails()
@@ -473,6 +422,7 @@ fun ReferralHomeScreen(
if(referralHomeScreenState !is ReferralHomeScreenState.Success)
referralHomeVM.fetchReferralForgeScreen()
}
if (showSheet) {
BottomSheet(referralHomeVM, bottomSheetData.value, modalBottomSheetState= modalBottomSheetState) { showSheet = false }
}
@@ -484,8 +434,7 @@ fun ReferralHomeScreen(
if (showMilestoneBottomSheet.isNotNull()) {
MilestoneBottomSheet(
referralHomeVM = referralHomeVM,
bottomSheetData = bottomSheetData.value,
milestoneBottomSheet = showMilestoneBottomSheet,
bottomSheetData = showMilestoneBottomSheet,
milestoneTicketUrl = milestoneTicketUrl,
modalBottomSheetState= modalBottomSheetState
) {
@@ -521,6 +470,11 @@ fun ReferralHomeScreen(
}
is ReferralHomeScreenState.Success -> {
bottomSheetList =
state.data.screenStructure?.bottomSheetScreens?.toList()?.associateBy {
it.screenId ?: EMPTY
} ?: emptyMap()
jsonMetaData = state.data.jsonMetaData
Scaffold(
modifier = Modifier.fillMaxSize(),
topBar = {},
@@ -673,7 +627,7 @@ fun ReferralHomeScreen(
@Composable
fun RenderReferralHomeScreenTopBar(
headerData: WidgetModelDefinition<UiTronResponse>?,
referralHomeVM: ReferralHomeVM
referralHomeVM: ReferralHomeVM,
) {
headerData?.let { uiTronHeader ->
Column(modifier = Modifier.padding(top = 48.dp)) {
@@ -692,7 +646,7 @@ fun RenderReferralHomeScreenContent(
isGratificationActive: Boolean,
lazyListState: LazyListState,
renderMilestoneBottomSheet: (screenId: String, milestoneBottomSheetData: MilestoneBottomSheet) -> Unit,
setMilestoneTicketUrl: ((milestoneTicketUrl: MilestoneTicketUrl) -> Unit)? = null
setMilestoneTicketUrl: ((milestoneTicketUrl: MilestoneTicketUrl) -> Unit)? = null,
) {
WidgetRenderer(widget = contentItem, viewModel = referralHomeVM, lazyListState = lazyListState, isGratificationActive = isGratificationActive, renderMilestoneBottomSheet){
setMilestoneTicketUrl?.invoke(it)
@@ -702,7 +656,7 @@ fun RenderReferralHomeScreenContent(
@Composable
fun RenderReferralHomeScreenBottomBar(
footerData: WidgetModelDefinition<UiTronResponse>?,
referralHomeVM: ReferralHomeVM
referralHomeVM: ReferralHomeVM,
) {
footerData?.let { uiTronFooter ->
Column(
@@ -833,17 +787,18 @@ fun BottomSheet(
@Composable
fun MilestoneBottomSheet(
referralHomeVM: ReferralHomeVM,
bottomSheetData: WidgetModelDefinition<UiTronResponse>,
milestoneBottomSheet: MilestoneBottomSheetRenderProps?,
bottomSheetData: MilestoneBottomSheetRenderProps?,
milestoneTicketUrl: MilestoneTicketUrl?,
modalBottomSheetState: SheetState,
onDismiss: () -> Unit,
) {
val coroutineScope = rememberCoroutineScope()
LaunchedEffect(Unit){
NaviRRAnalytics.naviRRAnalytics.Referral().sendEvent(eventName = MILESTONE_BOTTOMSHEET_VIEW, extraAttributes = hashMapOf(
MILESTONE_IDENTIFIER to milestoneBottomSheet?.index.toString()
))
LaunchedEffect(Unit) {
NaviRRAnalytics.naviRRAnalytics.Referral().sendEvent(
eventName = MILESTONE_BOTTOMSHEET_VIEW, extraAttributes = hashMapOf(
MILESTONE_IDENTIFIER to bottomSheetData?.dataMap?.get(INDEX).toString()
)
)
}
ModalBottomSheet(
onDismissRequest = { onDismiss() },
@@ -879,17 +834,24 @@ fun MilestoneBottomSheet(
}
}
)
RenderBottomSheet(bottomSheetData, referralHomeVM)
bottomSheetData?.screen?.content?.widgets?.forEach {
WidgetRenderer(
widget = it,
viewModel = referralHomeVM
)
}
}
Box(modifier = Modifier
.height(90.dp)
.width(65.dp), contentAlignment = Alignment.TopCenter){
Box(
modifier = Modifier
.height(90.dp)
.width(65.dp), contentAlignment = Alignment.TopCenter
) {
AsyncImage(
model =
ImageRequest.Builder(LocalContext.current)
.allowHardware(false)
.data(
when(milestoneBottomSheet?.milestoneID){
when (bottomSheetData?.milestoneID) {
YOU_HAVE_WON_BOTTOMSHEET -> {
milestoneTicketUrl?.greenTicketUrl?.iconUrl.orEmpty()
}
@@ -926,37 +888,45 @@ fun MilestoneBottomSheet(
Column(
verticalArrangement = Arrangement.Top,
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier.fillMaxHeight()) {
modifier = Modifier.fillMaxHeight()
) {
Text(
milestoneBottomSheet?.index.toString(),
bottomSheetData?.dataMap?.get(INDEX).toString(),
color = colorResource(id = DesignR.color.color_1F002A),
modifier = Modifier
.padding(top = 3.dp)
.width(24.dp)
.height(18.dp),
fontFamily = ttComposeFontFamily,
lineHeight = 18.sp,
fontWeight = getFontWeight(FontWeightEnum.TT_SEMI_BOLD),
fontSize = 12.sp,
textAlign = TextAlign.Center
)
val annotatedString = buildAnnotatedString {
withStyle(style = SpanStyle(
fontFamily = ttComposeFontFamily,
fontWeight = getFontWeight(FontWeightEnum.TT_SEMI_BOLD),
fontSize = 15.sp,
)
withStyle(
style = SpanStyle(
fontFamily = ttComposeFontFamily,
fontWeight = getFontWeight(FontWeightEnum.TT_SEMI_BOLD),
fontSize = 15.sp,
)
) {
append("${milestoneBottomSheet?.coinsValue?.let {
formatIndianNumericAbbreviation(
it
)
}}\n")
append(
"+${
bottomSheetData?.dataMap?.get(COINS_VALUE).toString().let {
formatIndianNumericAbbreviation(
it.toLong()
)
}
}\n"
)
}
withStyle(style = SpanStyle(
fontFamily = ttComposeFontFamily,
fontWeight = getFontWeight(FontWeightEnum.TT_REGULAR),
fontSize = 15.sp
)
withStyle(
style = SpanStyle(
fontFamily = ttComposeFontFamily,
fontWeight = getFontWeight(FontWeightEnum.TT_REGULAR),
fontSize = 15.sp
)
) {
append(stringResource(R.string.coins))
}
@@ -969,7 +939,6 @@ fun MilestoneBottomSheet(
lineHeight = 15.sp
)
}
}
}
}

View File

@@ -69,11 +69,15 @@ object Constants {
const val SCRATCH_STARTED="scratchStarted"
const val BACK="BACK"
const val LOTTIE="Lottie"
const val REFERRAL_COMPLETED = "referralCompleted"
const val TOTAL_REFERRALS_COMPLETED = "totalReferralsCompleted"
const val REFERRALS_TO_COMPLETE_FOR_REWARD = "referralsToCompleteForReward"
const val LAST_INDEX = "lastIndex"
const val INDEX = "index"
const val INDEX_TH = "indexTh"
const val DEFAULT_REWARD_AMOUNT = "defaultRewardAmount"
const val COINS_VALUE = "coinsValue"
const val CAPITAL_S = "S"
const val CLOSE_BOTTOM_SHEET = "closeBottomSheet"
const val TIMER_ENDS = "timerEnds"
const val CARD_ID = "card_id"
@@ -122,6 +126,7 @@ object RefereeTrackerConstants {
const val SUMMARY_ITEM = "SUMMARY_ITEM"
const val REFEREE_TRACKER_ACTION_STATUS_KEY = "actionStatus"
const val REFEREE_TRACKER_STATUS_TITLE_KEY = "text"
const val MILESTONE_BOTTOM_SHEET_DATA_MAP = "milestoneBottomSheetDataMap"
}
object ReferralHomeConstants {