Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.res.painterResource
import androidx.navigation3.runtime.NavKey
import com.flipcash.app.android.R
Expand Down Expand Up @@ -79,7 +79,7 @@ internal fun MainRoot(deepLink: () -> DeepLink?) {
label = "loading visibility"
)
CodeCircularProgressIndicator(
modifier = Modifier.alpha(loadingAlpha)
modifier = Modifier.graphicsLayer { alpha = loadingAlpha }
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.unit.dp
import com.getcode.theme.CodeTheme
import com.getcode.theme.extraSmall
import com.getcode.ui.core.rememberedClickable
import androidx.compose.foundation.clickable

@Composable
fun TileButton(
Expand All @@ -35,7 +35,7 @@ fun TileButton(
shape = CodeTheme.shapes.extraSmall,
)
.clip(CodeTheme.shapes.extraSmall)
.rememberedClickable(onClick = onClick)
.clickable(onClick = onClick)
.padding(contentPadding),
contentAlignment = Alignment.Center,
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import androidx.compose.ui.res.painterResource
import com.getcode.opencode.model.financial.Token
import com.getcode.theme.CodeTheme
import com.getcode.ui.core.R
import com.getcode.ui.core.rememberedClickable
import androidx.compose.foundation.clickable

@Composable
fun TokenSelectionPill(token: Token?, onClick: () -> Unit) {
Expand All @@ -29,7 +29,7 @@ fun TokenSelectionPill(token: Token?, onClick: () -> Unit) {
Row(
modifier = Modifier
.clip(CircleShape)
.rememberedClickable { onClick() },
.clickable { onClick() },
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(
space = CodeTheme.dimens.grid.x1,
Expand Down Expand Up @@ -71,7 +71,7 @@ fun TokenSelectionPill(
Row(
modifier = Modifier
.clip(CircleShape)
.rememberedClickable { onClick() },
.clickable { onClick() },
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(
space = CodeTheme.dimens.grid.x1,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
Expand Down Expand Up @@ -59,8 +60,8 @@ internal fun BackupKeyScreenContent(viewModel: BackupKeyScreenViewModel) {
val resources = LocalResources.current
val dataState by viewModel.uiFlow.collectAsStateWithLifecycle()

var isExportSeedRequested by remember { mutableStateOf(false) }
var isStoragePermissionGranted by remember { mutableStateOf(false) }
var isExportSeedRequested by rememberSaveable { mutableStateOf(false) }
var isStoragePermissionGranted by rememberSaveable { mutableStateOf(false) }
val isAccessKeyVisible = remember { MutableTransitionState(false) }

val onPermissionResult = { result: PermissionResult ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import com.flipcash.features.balance.R
import com.getcode.opencode.model.financial.LocalFiat
import com.getcode.theme.CodeTheme
import com.getcode.ui.components.text.AnimatedNumberText
import com.getcode.ui.core.rememberedClickable
import androidx.compose.foundation.clickable

@Composable
internal fun CashReservesRow(
Expand All @@ -26,7 +26,7 @@ internal fun CashReservesRow(
Row(
modifier = Modifier
.fillMaxWidth()
.rememberedClickable {
.clickable {
onClick()
}
.padding(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ import com.flipcash.features.bill.playground.R
import com.getcode.theme.CodeTheme
import com.getcode.ui.components.AppBarDefaults
import com.getcode.ui.core.measured
import com.getcode.ui.core.rememberedClickable
import androidx.compose.foundation.clickable
import com.getcode.ui.utils.AnimationUtils

@OptIn(ExperimentalMaterialApi::class)
Expand Down Expand Up @@ -192,7 +192,7 @@ private fun TopBar(
modifier = Modifier
.background(Color.Black.copy(0.19f), CircleShape)
.clip(CircleShape)
.rememberedClickable(enabled = canUndo) { onUndo() }
.clickable(enabled = canUndo) { onUndo() }
.padding(2.dp),
painter = painterResource(R.drawable.ic_undo),
colorFilter = ColorFilter.tint(Color.White.copy(undoAlpha)),
Expand All @@ -203,7 +203,7 @@ private fun TopBar(
modifier = Modifier
.background(Color.Black.copy(0.19f), CircleShape)
.clip(CircleShape)
.rememberedClickable { onCopy() }
.clickable { onCopy() }
.padding(
horizontal = CodeTheme.dimens.grid.x2,
vertical = CodeTheme.dimens.grid.x1
Expand All @@ -216,7 +216,7 @@ private fun TopBar(
modifier = Modifier
.background(Color.Black.copy(0.19f), CircleShape)
.clip(CircleShape)
.rememberedClickable { onDone() }
.clickable { onDone() }
.padding(
horizontal = CodeTheme.dimens.grid.x2,
vertical = CodeTheme.dimens.grid.x1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ import com.getcode.theme.CodeTheme
import com.getcode.ui.components.Pill
import com.getcode.ui.core.addIf
import com.getcode.ui.core.measured
import com.getcode.ui.core.rememberedClickable
import androidx.compose.foundation.clickable
import com.getcode.ui.core.swallowClicks

@OptIn(ExperimentalSharedTransitionApi::class)
Expand Down Expand Up @@ -196,7 +196,7 @@ private fun FeatureTab(
color = Color.White,
shape = CodeTheme.shapes.medium,
)
.rememberedClickable(onClick = onClick),
.clickable(onClick = onClick),
backgroundColor = backgroundColor,
contentColor = contentColor,
text = stringResource(feature.labelRes),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import com.getcode.opencode.model.ui.BillBackground
import com.flipcash.app.bill.customization.Event.Colors as ColorEvent
import com.getcode.theme.CodeTheme
import com.getcode.ui.core.addIf
import com.getcode.ui.core.rememberedClickable
import androidx.compose.foundation.clickable
import com.getcode.ui.utils.hexToColor
import com.getcode.ui.utils.hsv

Expand Down Expand Up @@ -55,7 +55,7 @@ internal fun ColorOptionItem(
shape = CodeTheme.shapes.small
)
}
.rememberedClickable {
.clickable {
when (option) {
is BillBackground.Gradient -> dispatchEvent(
ColorEvent.LoadBackground(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import androidx.compose.ui.unit.dp
import com.flipcash.app.theme.FlipcashPreview
import com.flipcash.features.bill.playground.R
import com.getcode.theme.CodeTheme
import com.getcode.ui.core.rememberedClickable
import androidx.compose.foundation.clickable
import com.getcode.ui.utils.Hsv
import com.getcode.ui.utils.hsv

Expand Down Expand Up @@ -72,7 +72,7 @@ internal fun ColorPanel(
shape = CodeTheme.shapes.small
)
.clip(CodeTheme.shapes.small)
.rememberedClickable { onClose() }
.clickable { onClose() }
.padding(CodeTheme.dimens.grid.x3),
contentAlignment = Alignment.Center
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,7 @@ import com.flipcash.app.bill.customization.Event.Colors as ColorEvent
import com.flipcash.app.bill.customization.models.ColorStore
import com.flipcash.features.bill.playground.R
import com.getcode.theme.CodeTheme
import com.getcode.ui.core.rememberedClickable
import com.getcode.ui.core.rememberedLongClickable


@OptIn(ExperimentalSharedTransitionApi::class, ExperimentalAnimatableApi::class)
@Composable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import com.flipcash.app.theme.FlipcashPreview
import com.flipcash.features.bill.playground.R
import com.getcode.theme.CodeTheme
import com.getcode.theme.extraSmall
import com.getcode.ui.core.rememberedClickable
import androidx.compose.foundation.clickable

@Composable
internal fun HueControlButton(
Expand All @@ -39,7 +39,7 @@ internal fun HueControlButton(
.fillMaxHeight()
.rainbowBackground()
.clip(CodeTheme.shapes.small)
.rememberedClickable { onClick() }
.clickable { onClick() }
.padding(CodeTheme.dimens.thickBorder)
.background(
color = Color.Black.copy(0.50f),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import com.flipcash.app.bill.customization.internal.features.BlendMode
import com.flipcash.app.bill.customization.internal.features.GraphicState
import com.getcode.theme.CodeTheme
import com.getcode.ui.components.Pill
import com.getcode.ui.core.rememberedClickable
import androidx.compose.foundation.clickable
import com.flipcash.app.bill.customization.Event.Graphics as GraphicsEvent

@Composable
Expand Down Expand Up @@ -76,7 +76,7 @@ internal fun TextureControls(
shape = CodeTheme.shapes.large
)
.clip(CodeTheme.shapes.large)
.rememberedClickable {
.clickable {
dispatchEvent(GraphicsEvent.ApplyGraphic(index))
},
contentAlignment = Alignment.Center,
Expand All @@ -91,10 +91,13 @@ internal fun TextureControls(
}
}

val blendModes = remember(state.blendModes) {
state.blendModes.map { it.blendMode }
}

val selectedTabIndex by remember(state.selectedBlendMode) {
derivedStateOf {
val option = state.selectedBlendMode.blendMode
state.blendModes.map { it.blendMode }.indexOf(option).takeIf { it >= 0 } ?: 0
blendModes.indexOf(state.selectedBlendMode.blendMode).takeIf { it >= 0 } ?: 0
}
}

Expand All @@ -106,7 +109,7 @@ internal fun TextureControls(
indicator = {}, // no indicator
divider = {} // no divider
) {
state.blendModes.map { it.blendMode }.forEachIndexed { index, mode ->
blendModes.forEachIndexed { index, mode ->
BlendModeTab(
mode = mode,
isSelected = index == selectedTabIndex,
Expand Down Expand Up @@ -154,7 +157,7 @@ internal fun BlendModeTab(
Pill(
modifier = modifier
.alpha(alpha)
.rememberedClickable(onClick = onClick),
.clickable(onClick = onClick),
backgroundColor = backgroundColor,
contentColor = Color.White,
text = stringResource(mode.labelRes),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
Expand All @@ -22,7 +22,7 @@ import com.getcode.ui.theme.CodeButton
@Composable
internal fun GiveScreenContent(viewModel: CashScreenViewModel) {
val navigator = LocalCodeNavigator.current
val state by viewModel.stateFlow.collectAsState()
val state by viewModel.stateFlow.collectAsStateWithLifecycle()
Column(
modifier = Modifier.fillMaxSize(),
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import com.flipcash.app.phone.LocalPhoneUtils
import com.flipcash.app.theme.FlipcashPreview
import com.flipcash.shared.phone.R
import com.getcode.theme.CodeTheme
import com.getcode.ui.core.rememberedClickable
import androidx.compose.foundation.clickable

@Composable
internal fun PhoneCountryCodeScreen(
Expand Down Expand Up @@ -62,7 +62,7 @@ private fun PhoneCountrySelectionList(
Row(
modifier = Modifier
.fillMaxWidth()
.rememberedClickable { onSelection(countryCode) },
.clickable { onSelection(countryCode) },
) {
countryCode.resId?.let { resId ->
Image(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ internal fun BillCustomizationScreen() {

BillCustomizationContent(state, viewModel::dispatchEvent)

LaunchedEffect(Unit) {
LaunchedEffect(state.customizations, state.purchaseAmount) {
controller.dispatchEvent(
Event.Load(
customizations = state.customizations,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import com.getcode.theme.CodeTheme
import com.getcode.theme.White
import com.getcode.theme.White05
import com.getcode.theme.extraSmall
import com.getcode.ui.core.rememberedClickable
import androidx.compose.foundation.clickable
import com.getcode.ui.theme.ButtonState
import com.getcode.ui.theme.CodeButton
import com.getcode.ui.theme.CodeScaffold
Expand Down Expand Up @@ -95,7 +95,7 @@ private fun DepositScreenContent(
.fillMaxWidth()
.height(CodeTheme.dimens.grid.x10)
.background(White05)
.rememberedClickable { dispatchEvent(DepositViewModel.Event.CopyAddress) }
.clickable { dispatchEvent(DepositViewModel.Event.CopyAddress) }
.padding(
start = CodeTheme.dimens.grid.x3,
top = CodeTheme.dimens.grid.x2,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,10 @@ private fun LogList(
),
verticalArrangement = Arrangement.spacedBy(2.dp),
) {
items(lines.asReversed()) { line ->
items(
items = lines.asReversed(),
key = { it.hashCode() },
) { line ->
LogLine(line = line, filter = filter)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ import com.getcode.ui.components.CircularIconButton
import com.getcode.ui.components.SearchInput
import com.getcode.ui.components.SwipeAction
import com.getcode.ui.components.SwipeActionRow
import com.getcode.ui.core.rememberedClickable
import androidx.compose.foundation.clickable
import com.getcode.ui.core.verticalScrollStateGradient
import com.getcode.ui.theme.CodeCircularProgressIndicator
import com.getcode.ui.theme.CodeScaffold
Expand All @@ -88,15 +88,15 @@ internal fun ContactListScreen() {

val state by viewModel.stateFlow.collectAsStateWithLifecycle()

LaunchedEffect(Unit) {
LaunchedEffect(viewModel) {
viewModel.eventFlow
.filterIsInstance<SendFlowViewModel.Event.SendInvite>()
.collect { event ->
navigator.show(AppRoute.Main.InviteContact(event.contact.e164))
}
}

LaunchedEffect(Unit) {
LaunchedEffect(viewModel) {
viewModel.eventFlow
.filterIsInstance<SendFlowViewModel.Event.NavigateToAmountEntry>()
.collect { event ->
Expand Down Expand Up @@ -346,7 +346,7 @@ private fun ContactRowItem(
Row(
modifier = Modifier
.fillMaxWidth()
.rememberedClickable(onClick = onClick)
.clickable(onClick = onClick)
.padding(
vertical = CodeTheme.dimens.inset,
horizontal = CodeTheme.dimens.inset,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ internal fun ContactsPermissionGateScreen() {
}
}

LaunchedEffect(Unit) {
LaunchedEffect(viewModel) {
viewModel.eventFlow
.filterIsInstance<SendFlowViewModel.Event.ContactSyncComplete>()
.collect { flowNavigator.proceed() }
Expand Down
Loading
Loading