mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-11-10 15:46:48 +01:00
Updates navigation compose, lifecycle, fragment, activity and composeBoms
This commit is contained in:
@@ -25,13 +25,12 @@ import androidx.compose.foundation.clickable
|
|||||||
import androidx.compose.foundation.combinedClickable
|
import androidx.compose.foundation.combinedClickable
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.material.ripple.rememberRipple
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.semantics.Role
|
import androidx.compose.ui.semantics.Role
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size24dp
|
import com.vitorpamplona.amethyst.ui.theme.ripple24dp
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ClickableBox(
|
fun ClickableBox(
|
||||||
@@ -43,7 +42,7 @@ fun ClickableBox(
|
|||||||
modifier.clickable(
|
modifier.clickable(
|
||||||
role = Role.Button,
|
role = Role.Button,
|
||||||
interactionSource = remember { MutableInteractionSource() },
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
indication = rememberRipple(bounded = false, radius = Size24dp),
|
indication = ripple24dp,
|
||||||
onClick = onClick,
|
onClick = onClick,
|
||||||
),
|
),
|
||||||
contentAlignment = Alignment.Center,
|
contentAlignment = Alignment.Center,
|
||||||
@@ -64,7 +63,7 @@ fun ClickableBox(
|
|||||||
modifier.combinedClickable(
|
modifier.combinedClickable(
|
||||||
role = Role.Button,
|
role = Role.Button,
|
||||||
interactionSource = remember { MutableInteractionSource() },
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
indication = rememberRipple(bounded = false, radius = Size24dp),
|
indication = ripple24dp,
|
||||||
onClick = onClick,
|
onClick = onClick,
|
||||||
onLongClick = onLongClick,
|
onLongClick = onLongClick,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -141,7 +141,10 @@ private fun RenderBottomMenu(
|
|||||||
HorizontalDivider(
|
HorizontalDivider(
|
||||||
thickness = DividerThickness,
|
thickness = DividerThickness,
|
||||||
)
|
)
|
||||||
NavigationBar(tonalElevation = Size0dp) {
|
NavigationBar(
|
||||||
|
containerColor = MaterialTheme.colorScheme.background,
|
||||||
|
tonalElevation = Size0dp,
|
||||||
|
) {
|
||||||
bottomNavigationItems.forEach { item ->
|
bottomNavigationItems.forEach { item ->
|
||||||
HasNewItemsIcon(item == selectedRoute, item, accountViewModel, nav)
|
HasNewItemsIcon(item == selectedRoute, item, accountViewModel, nav)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ import androidx.compose.foundation.layout.width
|
|||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.Bolt
|
import androidx.compose.material.icons.filled.Bolt
|
||||||
import androidx.compose.material.icons.outlined.Bolt
|
import androidx.compose.material.icons.outlined.Bolt
|
||||||
import androidx.compose.material.ripple.rememberRipple
|
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
import androidx.compose.material3.ButtonDefaults
|
import androidx.compose.material3.ButtonDefaults
|
||||||
import androidx.compose.material3.CircularProgressIndicator
|
import androidx.compose.material3.CircularProgressIndicator
|
||||||
@@ -85,6 +84,7 @@ import com.vitorpamplona.amethyst.ui.theme.Font14SP
|
|||||||
import com.vitorpamplona.amethyst.ui.theme.QuoteBorder
|
import com.vitorpamplona.amethyst.ui.theme.QuoteBorder
|
||||||
import com.vitorpamplona.amethyst.ui.theme.mediumImportanceLink
|
import com.vitorpamplona.amethyst.ui.theme.mediumImportanceLink
|
||||||
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
||||||
|
import com.vitorpamplona.amethyst.ui.theme.ripple24dp
|
||||||
import com.vitorpamplona.quartz.events.EmptyTagList
|
import com.vitorpamplona.quartz.events.EmptyTagList
|
||||||
import com.vitorpamplona.quartz.events.ImmutableListOfLists
|
import com.vitorpamplona.quartz.events.ImmutableListOfLists
|
||||||
import com.vitorpamplona.quartz.events.toImmutableListOfLists
|
import com.vitorpamplona.quartz.events.toImmutableListOfLists
|
||||||
@@ -357,7 +357,7 @@ fun ZapVote(
|
|||||||
Modifier.combinedClickable(
|
Modifier.combinedClickable(
|
||||||
role = Role.Button,
|
role = Role.Button,
|
||||||
interactionSource = remember { MutableInteractionSource() },
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
indication = rememberRipple(bounded = false, radius = 24.dp),
|
indication = ripple24dp,
|
||||||
onClick = {
|
onClick = {
|
||||||
if (!accountViewModel.isWriteable()) {
|
if (!accountViewModel.isWriteable()) {
|
||||||
accountViewModel.toast(
|
accountViewModel.toast(
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
|||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.material.ripple.rememberRipple
|
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
import androidx.compose.material3.ButtonDefaults
|
import androidx.compose.material3.ButtonDefaults
|
||||||
import androidx.compose.material3.CardDefaults
|
import androidx.compose.material3.CardDefaults
|
||||||
@@ -129,7 +128,6 @@ import com.vitorpamplona.amethyst.ui.theme.Size19Modifier
|
|||||||
import com.vitorpamplona.amethyst.ui.theme.Size20Modifier
|
import com.vitorpamplona.amethyst.ui.theme.Size20Modifier
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size20dp
|
import com.vitorpamplona.amethyst.ui.theme.Size20dp
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size22Modifier
|
import com.vitorpamplona.amethyst.ui.theme.Size22Modifier
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size24dp
|
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size28Modifier
|
import com.vitorpamplona.amethyst.ui.theme.Size28Modifier
|
||||||
import com.vitorpamplona.amethyst.ui.theme.SmallBorder
|
import com.vitorpamplona.amethyst.ui.theme.SmallBorder
|
||||||
import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn
|
import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn
|
||||||
@@ -137,6 +135,7 @@ import com.vitorpamplona.amethyst.ui.theme.TinyBorders
|
|||||||
import com.vitorpamplona.amethyst.ui.theme.mediumImportanceLink
|
import com.vitorpamplona.amethyst.ui.theme.mediumImportanceLink
|
||||||
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
||||||
import com.vitorpamplona.amethyst.ui.theme.reactionBox
|
import com.vitorpamplona.amethyst.ui.theme.reactionBox
|
||||||
|
import com.vitorpamplona.amethyst.ui.theme.ripple24dp
|
||||||
import com.vitorpamplona.amethyst.ui.theme.selectedReactionBoxModifier
|
import com.vitorpamplona.amethyst.ui.theme.selectedReactionBoxModifier
|
||||||
import com.vitorpamplona.quartz.encoders.Nip30CustomEmoji
|
import com.vitorpamplona.quartz.encoders.Nip30CustomEmoji
|
||||||
import com.vitorpamplona.quartz.events.BaseTextNoteEvent
|
import com.vitorpamplona.quartz.events.BaseTextNoteEvent
|
||||||
@@ -1008,7 +1007,7 @@ fun ZapReaction(
|
|||||||
iconSizeModifier.combinedClickable(
|
iconSizeModifier.combinedClickable(
|
||||||
role = Role.Button,
|
role = Role.Button,
|
||||||
interactionSource = remember { MutableInteractionSource() },
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
indication = rememberRipple(bounded = false, radius = Size24dp),
|
indication = ripple24dp,
|
||||||
onClick = {
|
onClick = {
|
||||||
zapClick(
|
zapClick(
|
||||||
baseNote,
|
baseNote,
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ package com.vitorpamplona.amethyst.ui.note
|
|||||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.combinedClickable
|
import androidx.compose.foundation.combinedClickable
|
||||||
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
@@ -65,6 +66,7 @@ import com.vitorpamplona.amethyst.ui.theme.Size17dp
|
|||||||
import com.vitorpamplona.amethyst.ui.theme.StdStartPadding
|
import com.vitorpamplona.amethyst.ui.theme.StdStartPadding
|
||||||
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
||||||
import com.vitorpamplona.amethyst.ui.theme.relayIconModifier
|
import com.vitorpamplona.amethyst.ui.theme.relayIconModifier
|
||||||
|
import com.vitorpamplona.amethyst.ui.theme.ripple24dp
|
||||||
import com.vitorpamplona.ammolite.relays.RelayBriefInfoCache
|
import com.vitorpamplona.ammolite.relays.RelayBriefInfoCache
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@@ -154,6 +156,8 @@ fun RenderRelay(
|
|||||||
Modifier
|
Modifier
|
||||||
.size(Size17dp)
|
.size(Size17dp)
|
||||||
.combinedClickable(
|
.combinedClickable(
|
||||||
|
indication = ripple24dp,
|
||||||
|
interactionSource = MutableInteractionSource(),
|
||||||
onLongClick = {
|
onLongClick = {
|
||||||
clipboardManager.setText(AnnotatedString(relay.url))
|
clipboardManager.setText(AnnotatedString(relay.url))
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -258,7 +258,7 @@ fun SlidingCarousel(
|
|||||||
|
|
||||||
VerticalPager(
|
VerticalPager(
|
||||||
state = pagerState,
|
state = pagerState,
|
||||||
beyondBoundsPageCount = 1,
|
beyondViewportPageCount = 1,
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier.fillMaxSize(),
|
||||||
key = { index -> items.list.getOrNull(index)?.idHex ?: "$index" },
|
key = { index -> items.list.getOrNull(index)?.idHex ?: "$index" },
|
||||||
) { index ->
|
) { index ->
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import androidx.compose.foundation.layout.widthIn
|
|||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.material3.Shapes
|
import androidx.compose.material3.Shapes
|
||||||
|
import androidx.compose.material3.ripple
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
@@ -284,3 +285,5 @@ val reactionBox =
|
|||||||
.padding(horizontal = 6.dp, vertical = 6.dp)
|
.padding(horizontal = 6.dp, vertical = 6.dp)
|
||||||
.size(Size40dp)
|
.size(Size40dp)
|
||||||
.padding(5.dp)
|
.padding(5.dp)
|
||||||
|
|
||||||
|
val ripple24dp = ripple(bounded = false, radius = Size24dp)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[versions]
|
[versions]
|
||||||
accompanistAdaptive = "0.34.0"
|
accompanistAdaptive = "0.34.0"
|
||||||
activityCompose = "1.9.1"
|
activityCompose = "1.9.2"
|
||||||
agp = "8.6.0"
|
agp = "8.6.0"
|
||||||
android-compileSdk = "34"
|
android-compileSdk = "34"
|
||||||
android-minSdk = "26"
|
android-minSdk = "26"
|
||||||
@@ -14,11 +14,11 @@ benchmarkJunit4 = "1.3.0"
|
|||||||
biometricKtx = "1.2.0-alpha05"
|
biometricKtx = "1.2.0-alpha05"
|
||||||
blurhash = "1.0.0"
|
blurhash = "1.0.0"
|
||||||
coil = "2.7.0"
|
coil = "2.7.0"
|
||||||
composeBom = "2024.08.00"
|
composeBom = "2024.09.00"
|
||||||
coreKtx = "1.13.1"
|
coreKtx = "1.13.1"
|
||||||
espressoCore = "3.6.1"
|
espressoCore = "3.6.1"
|
||||||
firebaseBom = "33.2.0"
|
firebaseBom = "33.2.0"
|
||||||
fragmentKtx = "1.8.2"
|
fragmentKtx = "1.8.3"
|
||||||
gms = "4.4.2"
|
gms = "4.4.2"
|
||||||
jacksonModuleKotlin = "2.17.2"
|
jacksonModuleKotlin = "2.17.2"
|
||||||
jna = "5.14.0"
|
jna = "5.14.0"
|
||||||
@@ -29,12 +29,12 @@ kotlinxSerialization = "1.7.2"
|
|||||||
kotlinxSerializationPlugin = "2.0.0"
|
kotlinxSerializationPlugin = "2.0.0"
|
||||||
languageId = "17.0.6"
|
languageId = "17.0.6"
|
||||||
lazysodiumAndroid = "5.1.0"
|
lazysodiumAndroid = "5.1.0"
|
||||||
lifecycleRuntimeKtx = "2.8.4"
|
lifecycleRuntimeKtx = "2.8.5"
|
||||||
lightcompressor = "1.3.2"
|
lightcompressor = "1.3.2"
|
||||||
markdown = "077a2cde64"
|
markdown = "077a2cde64"
|
||||||
media3 = "1.4.1"
|
media3 = "1.4.1"
|
||||||
mockk = "1.13.12"
|
mockk = "1.13.12"
|
||||||
navigationCompose = "2.7.7"
|
navigationCompose = "2.8.0"
|
||||||
okhttp = "5.0.0-alpha.14"
|
okhttp = "5.0.0-alpha.14"
|
||||||
runner = "1.6.2"
|
runner = "1.6.2"
|
||||||
rfc3986 = "0.1.0"
|
rfc3986 = "0.1.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user