TP-60183 | Sohan Reddy | Added post render action handling (#10202)

Co-authored-by: Shivam Goyal <shivam.goyal@navi.com>
This commit is contained in:
Sohan Reddy Atukula
2024-03-28 11:25:39 +05:30
committed by GitHub
parent 8fb3b6fe41
commit f716fb7df7
3 changed files with 31 additions and 2 deletions

View File

@@ -79,6 +79,7 @@ import com.navi.common.uitron.model.action.CtaAction
import com.navi.rr.common.actions.InitActionHandler
import com.navi.rr.common.activity.RRBaseActivity
import com.navi.rr.utils.Constants.NULL_STRING
import com.navi.rr.utils.InitWidgetActions
import com.navi.rr.utils.brushType
import com.navi.rr.utils.getGsonBuilders
import com.navi.rr.utils.toJson
@@ -320,6 +321,10 @@ fun CoinHomeScreen(
LaunchedEffect(Unit) {
coinHomeScreenVM.setBottomSheetMapData(state.data.screenStructure?.bottomSheets)
}
InitWidgetActions(
screenDefinition = state.data,
viewModel = coinHomeScreenVM
)
val scrollState = rememberScrollState()
val screenHeight = LocalConfiguration.current.screenHeightDp.dp.toPx()

View File

@@ -227,15 +227,15 @@ fun MainScreenShimmerV2(){
.clip(RoundedCornerShape(4.dp))
.setShimmerEffect(true))
Box(modifier = Modifier
.padding(start = 16.dp)
.height(220.dp)
.width(136.dp)
.padding(start = 16.dp)
.clip(RoundedCornerShape(4.dp))
.setShimmerEffect(true))
Box(modifier = Modifier
.padding(start = 16.dp)
.height(220.dp)
.width(136.dp)
.padding(start = 16.dp)
.clip(RoundedCornerShape(4.dp))
.setShimmerEffect(true))
}

View File

@@ -0,0 +1,24 @@
package com.navi.rr.utils
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import com.navi.common.forge.model.ScreenDefinition
import com.navi.uitron.viewmodel.UiTronViewModel
@Composable
fun InitWidgetActions(
screenDefinition: ScreenDefinition,
viewModel: UiTronViewModel,
) {
LaunchedEffect(screenDefinition) {
viewModel.handleActions(
screenDefinition.screenStructure?.header?.widgetRenderActions?.postRenderAction
)
viewModel.handleActions(
screenDefinition.screenStructure?.footer?.widgetRenderActions?.postRenderAction
)
screenDefinition.screenStructure?.content?.widgets?.forEach {
viewModel.handleActions(it.widgetRenderActions?.postRenderAction)
}
}
}