NTP-882 | Removed footer from coin home screen (#11771)
Co-authored-by: Shaurya Rehan <shaurya.rehan@navi.com>
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user