Updated on 2026-08-14
This commit is contained in:
parent
151ca892ed
commit
502bfc0bc7
6 changed files with 6 additions and 93 deletions
|
|
@ -1,5 +0,0 @@
|
|||
package com.tangem.feature.swap.models.states
|
||||
|
||||
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfigContent
|
||||
|
||||
internal data class WebViewBottomSheetConfig(val url: String) : TangemBottomSheetConfigContent
|
||||
|
|
@ -15,7 +15,6 @@ import com.tangem.core.ui.utils.WindowInsetsZero
|
|||
import com.tangem.feature.swap.models.SwapStateHolder
|
||||
import com.tangem.feature.swap.models.states.ChooseFeeBottomSheetConfig
|
||||
import com.tangem.feature.swap.models.states.ChooseProviderBottomSheetConfig
|
||||
import com.tangem.feature.swap.models.states.WebViewBottomSheetConfig
|
||||
import com.tangem.feature.swap.presentation.R
|
||||
|
||||
@Composable
|
||||
|
|
@ -40,20 +39,13 @@ internal fun SwapScreen(stateHolder: SwapStateHolder) {
|
|||
modifier = Modifier.padding(scaffoldPaddings),
|
||||
)
|
||||
|
||||
stateHolder.bottomSheetConfig?.let { config ->
|
||||
if (stateHolder.bottomSheetConfig != null) {
|
||||
val config = stateHolder.bottomSheetConfig
|
||||
|
||||
when (config.content) {
|
||||
is GiveTxPermissionBottomSheetConfig -> {
|
||||
GiveTxPermissionBottomSheet(config = config)
|
||||
}
|
||||
is ChooseProviderBottomSheetConfig -> {
|
||||
ChooseProviderBottomSheet(config = config)
|
||||
}
|
||||
is ChooseFeeBottomSheetConfig -> {
|
||||
ChooseFeeBottomSheet(config = config)
|
||||
}
|
||||
is WebViewBottomSheetConfig -> {
|
||||
WebViewBottomSheet(config = config)
|
||||
}
|
||||
is GiveTxPermissionBottomSheetConfig -> GiveTxPermissionBottomSheet(config = config)
|
||||
is ChooseProviderBottomSheetConfig -> ChooseProviderBottomSheet(config = config)
|
||||
is ChooseFeeBottomSheetConfig -> ChooseFeeBottomSheet(config = config)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,70 +0,0 @@
|
|||
package com.tangem.feature.swap.ui
|
||||
|
||||
import android.content.res.Configuration
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.fillMaxHeight
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalInspectionMode
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.google.accompanist.web.WebView
|
||||
import com.google.accompanist.web.rememberWebViewState
|
||||
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheet
|
||||
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreview
|
||||
import com.tangem.feature.swap.models.states.WebViewBottomSheetConfig
|
||||
|
||||
@Composable
|
||||
fun WebViewBottomSheet(config: TangemBottomSheetConfig) {
|
||||
TangemBottomSheet(
|
||||
config = config,
|
||||
containerColor = TangemTheme.colors.background.tertiary,
|
||||
) { content: WebViewBottomSheetConfig ->
|
||||
WebViewBottomSheetContent(
|
||||
WebViewBottomSheetConfig(url = content.url),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun WebViewBottomSheetContent(content: WebViewBottomSheetConfig) {
|
||||
val state = rememberWebViewState(content.url)
|
||||
val isInPreviewMode = LocalInspectionMode.current
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.fillMaxHeight()
|
||||
.verticalScroll(rememberScrollState()),
|
||||
) {
|
||||
WebView(
|
||||
state = state,
|
||||
modifier = Modifier
|
||||
.background(TangemTheme.colors.background.secondary),
|
||||
captureBackPresses = false,
|
||||
onCreated = {
|
||||
if (!isInPreviewMode) {
|
||||
it.settings.apply {
|
||||
javaScriptEnabled = false
|
||||
allowFileAccess = false
|
||||
}
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
|
||||
@Composable
|
||||
private fun Preview_WebViewBottomSheetContent() {
|
||||
TangemThemePreview {
|
||||
WebViewBottomSheetContent(
|
||||
content = WebViewBottomSheetConfig(
|
||||
url = "https://tangem.com/en/",
|
||||
),
|
||||
)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue