NTP-882 | Removed footer from coin home screen (#11771)

Co-authored-by: Shaurya Rehan <shaurya.rehan@navi.com>
This commit is contained in:
Kishan Kumar
2024-07-11 18:43:00 +05:30
committed by GitHub
parent 1cb1887758
commit c5f93e4c31

View File

@@ -10,11 +10,8 @@ package com.navi.coin.ui.compose.screen
import android.app.Activity
import android.os.Bundle
import androidx.activity.compose.BackHandler
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.core.Spring
import androidx.compose.animation.core.spring
import androidx.compose.animation.slideInVertically
import androidx.compose.animation.slideOutVertically
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.Image
import androidx.compose.foundation.LocalOverscrollConfiguration
@@ -45,7 +42,6 @@ import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.key
import androidx.compose.runtime.mutableStateMapOf
@@ -56,7 +52,6 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.composed
import androidx.compose.ui.draw.shadow
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.layout.onGloballyPositioned
@@ -103,16 +98,13 @@ import com.navi.coin.utils.constant.Constants.SCREEN_CONTENT
import com.navi.coin.utils.constant.Constants.SHOW_CURVE_KEY
import com.navi.coin.utils.emitEvent
import com.navi.coin.vm.CoinHomeScreenVM
import com.navi.common.forge.model.WidgetModelDefinition
import com.navi.common.managers.NaviLocationManager
import com.navi.common.uitron.model.action.CtaAction
import com.navi.common.uitron.model.action.ExecuteActionsCorrespondingToKey
import com.navi.design.utils.NoRippleIndicationSource
import com.navi.design.utils.half
import com.navi.rr.R as rrR
import com.navi.rr.common.actions.InitActionHandler
import com.navi.rr.common.constants.COIN_HOME_SCREEN
import com.navi.rr.common.widgetFactory.FooterWithShadow
import com.navi.rr.common.widgetFactory.WidgetRenderer
import com.navi.rr.uitron.model.action.ScrollToAction
import com.navi.rr.utils.composeutils.InitWidgetActions
@@ -123,7 +115,6 @@ import com.navi.rr.utils.ext.toJson
import com.navi.rr.utils.ext.toType
import com.navi.rr.utils.getGsonBuilders
import com.navi.rr.utils.openSettings
import com.navi.uitron.model.UiTronResponse
import com.navi.uitron.model.ui.BaseProperty
import com.navi.uitron.utils.ShapeUtil
import com.navi.uitron.utils.conditional
@@ -462,15 +453,6 @@ fun CoinHomeScreen(
}
}
},
bottomBar = {
state.data.screenStructure?.footer?.let {
AnimatedFooter(
getScrollOffset = { scrollState.value },
viewModel = coinHomeScreenVM,
footerContent = it
)
}
},
backgroundColor = Color.Transparent
)
CoinHomeScreenHeader(context)
@@ -487,51 +469,6 @@ fun CoinHomeScreen(
}
}
@Composable
private fun AnimatedFooter(
getScrollOffset: () -> Int,
viewModel: CoinHomeScreenVM,
footerContent: WidgetModelDefinition<UiTronResponse>?,
screenHeightInPx: Float = LocalConfiguration.current.screenHeightDp.dp.toPx(),
) {
val isFooterVisible by remember {
derivedStateOf { getScrollOffset() > (screenHeightInPx.half()) }
}
AnimatedVisibility(
visible = isFooterVisible,
enter =
slideInVertically(
initialOffsetY = { it },
animationSpec =
spring(
dampingRatio = Spring.DampingRatioNoBouncy,
stiffness = Spring.StiffnessLow
)
),
exit =
slideOutVertically(
targetOffsetY = { it },
animationSpec =
spring(
dampingRatio = Spring.DampingRatioNoBouncy,
stiffness = Spring.StiffnessLow
)
)
) {
Column(
modifier =
Modifier.shadow(
elevation = 8.dp,
spotColor = Color(0xFF000000),
ambientColor = Color(0x00000000)
)
.padding(top = 15.dp)
) {
FooterWithShadow(footerContent, viewModel, Color.Transparent)
}
}
}
@Composable
internal fun CoinHomeScreenHeader(
context: CoinBaseActivity,