Fixes relay ui spacing after the drag and drop feature was added.

This commit is contained in:
Vitor Pamplona
2026-04-07 11:11:15 -04:00
parent 7799793c29
commit 93c4164955
20 changed files with 121 additions and 39 deletions
@@ -64,6 +64,7 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditF
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.stringRes import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.theme.DoubleVertSpacer import com.vitorpamplona.amethyst.ui.theme.DoubleVertSpacer
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.SettingsCategoryFirstModifier import com.vitorpamplona.amethyst.ui.theme.SettingsCategoryFirstModifier
import com.vitorpamplona.amethyst.ui.theme.SettingsCategorySpacingModifier import com.vitorpamplona.amethyst.ui.theme.SettingsCategorySpacingModifier
import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn
@@ -224,6 +225,7 @@ private fun ChannelMetadataScaffold(
item, item,
onDelete = { postViewModel.deleteHomeRelay(item) }, onDelete = { postViewModel.deleteHomeRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -232,6 +234,7 @@ private fun ChannelMetadataScaffold(
item { item {
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addHomeRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addHomeRelay(relaySetupInfoBuilder(it)) },
modifier = Modifier,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -20,19 +20,35 @@
*/ */
package com.vitorpamplona.amethyst.ui.screen.loggedIn.home package com.vitorpamplona.amethyst.ui.screen.loggedIn.home
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material3.FloatingActionButton import androidx.compose.material3.FloatingActionButton
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import com.vitorpamplona.amethyst.R import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.ui.navigation.navs.EmptyNav
import com.vitorpamplona.amethyst.ui.navigation.navs.INav import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.navigation.routes.Route import com.vitorpamplona.amethyst.ui.navigation.routes.Route
import com.vitorpamplona.amethyst.ui.painterRes import com.vitorpamplona.amethyst.ui.painterRes
import com.vitorpamplona.amethyst.ui.stringRes import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.theme.Size26Modifier import com.vitorpamplona.amethyst.ui.theme.Size26Modifier
import com.vitorpamplona.amethyst.ui.theme.Size55Modifier import com.vitorpamplona.amethyst.ui.theme.Size55Modifier
import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonRow
@Composable
fun NewNoteButtonPreview() {
ThemeComparisonRow {
Box(Modifier.size(200.dp), contentAlignment = Alignment.Center) {
NewNoteButton(EmptyNav())
}
}
}
@Composable @Composable
fun NewNoteButton(nav: INav) { fun NewNoteButton(nav: INav) {
@@ -37,7 +37,6 @@ import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedButton import androidx.compose.material3.OutlinedButton
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.Switch
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.LaunchedEffect
@@ -89,12 +88,11 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.search.SearchRelayLi
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.search.renderSearchItems import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.search.renderSearchItems
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.trusted.TrustedRelayListViewModel import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.trusted.TrustedRelayListViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.trusted.renderTrustedItems import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.trusted.renderTrustedItems
import com.vitorpamplona.amethyst.ui.screen.loggedIn.settings.SettingsRow
import com.vitorpamplona.amethyst.ui.stringRes import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.RowColSpacing import com.vitorpamplona.amethyst.ui.theme.RowColSpacing
import com.vitorpamplona.amethyst.ui.theme.SettingsCategoryFirstModifier import com.vitorpamplona.amethyst.ui.theme.SettingsCategoryFirstWithHorzBorderModifier
import com.vitorpamplona.amethyst.ui.theme.SettingsCategorySpacingModifier import com.vitorpamplona.amethyst.ui.theme.SettingsCategorySpacingWithHorzBorderModifier
import com.vitorpamplona.amethyst.ui.theme.grayText import com.vitorpamplona.amethyst.ui.theme.grayText
@Composable @Composable
@@ -339,7 +337,7 @@ fun MappedAllRelayListView(
SettingsCategory( SettingsCategory(
R.string.public_home_section, R.string.public_home_section,
R.string.public_home_section_explainer, R.string.public_home_section_explainer,
SettingsCategoryFirstModifier, SettingsCategoryFirstWithHorzBorderModifier,
) )
} }
renderNip65HomeItems(homeFeedState, nip65ViewModel, accountViewModel, nav, outboxCounts, homeDragState) renderNip65HomeItems(homeFeedState, nip65ViewModel, accountViewModel, nav, outboxCounts, homeDragState)
@@ -348,7 +346,7 @@ fun MappedAllRelayListView(
SettingsCategory( SettingsCategory(
R.string.public_notif_section, R.string.public_notif_section,
R.string.public_notif_section_explainer, R.string.public_notif_section_explainer,
SettingsCategorySpacingModifier, SettingsCategorySpacingWithHorzBorderModifier,
) )
} }
renderNip65NotifItems(notifFeedState, nip65ViewModel, accountViewModel, nav, inboxCounts, notifDragState) renderNip65NotifItems(notifFeedState, nip65ViewModel, accountViewModel, nav, inboxCounts, notifDragState)
@@ -357,7 +355,7 @@ fun MappedAllRelayListView(
SettingsCategoryWithButton( SettingsCategoryWithButton(
R.string.private_inbox_section, R.string.private_inbox_section,
R.string.private_inbox_section_explainer, R.string.private_inbox_section_explainer,
SettingsCategorySpacingModifier, SettingsCategorySpacingWithHorzBorderModifier,
action = { action = {
ResetDMRelays(dmViewModel) ResetDMRelays(dmViewModel)
}, },
@@ -369,7 +367,7 @@ fun MappedAllRelayListView(
SettingsCategory( SettingsCategory(
R.string.private_outbox_section, R.string.private_outbox_section,
R.string.private_outbox_section_explainer, R.string.private_outbox_section_explainer,
SettingsCategorySpacingModifier, SettingsCategorySpacingWithHorzBorderModifier,
) )
} }
renderPrivateOutboxItems(privateOutboxFeedState, privateOutboxViewModel, accountViewModel, nav, privateHomeCounts, privateOutboxDragState) renderPrivateOutboxItems(privateOutboxFeedState, privateOutboxViewModel, accountViewModel, nav, privateHomeCounts, privateOutboxDragState)
@@ -378,7 +376,7 @@ fun MappedAllRelayListView(
SettingsCategory( SettingsCategory(
R.string.proxy_section, R.string.proxy_section,
R.string.proxy_section_explainer, R.string.proxy_section_explainer,
SettingsCategorySpacingModifier, SettingsCategorySpacingWithHorzBorderModifier,
) )
} }
renderProxyItems(proxyRelays, proxyViewModel, accountViewModel, nav, proxyCounts, proxyDragState) renderProxyItems(proxyRelays, proxyViewModel, accountViewModel, nav, proxyCounts, proxyDragState)
@@ -387,7 +385,7 @@ fun MappedAllRelayListView(
SettingsCategory( SettingsCategory(
R.string.broadcast_section, R.string.broadcast_section,
R.string.broadcast_section_explainer, R.string.broadcast_section_explainer,
SettingsCategorySpacingModifier, SettingsCategorySpacingWithHorzBorderModifier,
) )
} }
renderBroadcastItems(broadcastRelays, broadcastViewModel, accountViewModel, nav, broadcastDragState) renderBroadcastItems(broadcastRelays, broadcastViewModel, accountViewModel, nav, broadcastDragState)
@@ -396,7 +394,7 @@ fun MappedAllRelayListView(
SettingsCategoryWithButton( SettingsCategoryWithButton(
R.string.indexer_section, R.string.indexer_section,
R.string.indexer_section_explainer, R.string.indexer_section_explainer,
SettingsCategorySpacingModifier, SettingsCategorySpacingWithHorzBorderModifier,
) { ) {
ResetIndexerRelays(indexerViewModel) ResetIndexerRelays(indexerViewModel)
} }
@@ -407,7 +405,7 @@ fun MappedAllRelayListView(
SettingsCategoryWithButton( SettingsCategoryWithButton(
R.string.search_section, R.string.search_section,
R.string.search_section_explainer, R.string.search_section_explainer,
SettingsCategorySpacingModifier, SettingsCategorySpacingWithHorzBorderModifier,
) { ) {
ResetSearchRelays(searchViewModel) ResetSearchRelays(searchViewModel)
} }
@@ -418,34 +416,16 @@ fun MappedAllRelayListView(
SettingsCategory( SettingsCategory(
R.string.local_section, R.string.local_section,
R.string.local_section_explainer, R.string.local_section_explainer,
SettingsCategorySpacingModifier, SettingsCategorySpacingWithHorzBorderModifier,
) )
} }
item {
val sendKind0 by accountViewModel.account.settings.syncedSettings.security.sendKind0EventsToLocalRelay
.collectAsStateWithLifecycle()
var checked by remember(sendKind0) { mutableStateOf(sendKind0) }
SettingsRow(
R.string.send_kind0_to_local_relay_title,
R.string.send_kind0_to_local_relay_description,
) {
Switch(
checked = checked,
onCheckedChange = {
checked = it
accountViewModel.toggleSendKind0ToLocalRelay(it)
},
)
}
}
renderLocalItems(localFeedState, localViewModel, accountViewModel, nav, localDragState) renderLocalItems(localFeedState, localViewModel, accountViewModel, nav, localDragState)
item { item {
SettingsCategory( SettingsCategory(
R.string.trusted_section, R.string.trusted_section,
R.string.trusted_section_explainer, R.string.trusted_section_explainer,
SettingsCategorySpacingModifier, SettingsCategorySpacingWithHorzBorderModifier,
) )
} }
renderTrustedItems(trustedFeedState, trustedViewModel, accountViewModel, nav, trustedDragState) renderTrustedItems(trustedFeedState, trustedViewModel, accountViewModel, nav, trustedDragState)
@@ -454,7 +434,7 @@ fun MappedAllRelayListView(
SettingsCategory( SettingsCategory(
R.string.favorite_section, R.string.favorite_section,
R.string.favorite_section_explainer, R.string.favorite_section_explainer,
SettingsCategorySpacingModifier, SettingsCategorySpacingWithHorzBorderModifier,
) )
} }
renderRelayFeedsItems(relayFeedsFeedState, relayFeedsViewModel, accountViewModel, nav, feedsDragState) renderRelayFeedsItems(relayFeedsFeedState, relayFeedsViewModel, accountViewModel, nav, feedsDragState)
@@ -463,7 +443,7 @@ fun MappedAllRelayListView(
SettingsCategory( SettingsCategory(
R.string.blocked_section, R.string.blocked_section,
R.string.blocked_section_explainer, R.string.blocked_section_explainer,
SettingsCategorySpacingModifier, SettingsCategorySpacingWithHorzBorderModifier,
) )
} }
renderBlockedItems(blockedFeedState, blockedViewModel, accountViewModel, nav, blockedDragState) renderBlockedItems(blockedFeedState, blockedViewModel, accountViewModel, nav, blockedDragState)
@@ -472,7 +452,7 @@ fun MappedAllRelayListView(
SettingsCategory( SettingsCategory(
R.string.connected_section, R.string.connected_section,
R.string.connected_section_description, R.string.connected_section_description,
SettingsCategorySpacingModifier, SettingsCategorySpacingWithHorzBorderModifier,
) )
} }
renderConnectedItems(connectedRelays, connectedViewModel, accountViewModel, nav) renderConnectedItems(connectedRelays, connectedViewModel, accountViewModel, nav)
@@ -40,6 +40,8 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditF
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
@Composable @Composable
@@ -79,6 +81,7 @@ fun LazyListScope.renderBlockedItems(
item, item,
onDelete = { postViewModel.deleteRelay(item) }, onDelete = { postViewModel.deleteRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
index = index, index = index,
dragState = dragState, dragState = dragState,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
@@ -90,6 +93,7 @@ fun LazyListScope.renderBlockedItems(
Spacer(modifier = StdVertSpacer) Spacer(modifier = StdVertSpacer)
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
modifier = HorzPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -40,6 +40,8 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditF
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
@Composable @Composable
@@ -79,6 +81,7 @@ fun LazyListScope.renderBroadcastItems(
item, item,
onDelete = { postViewModel.deleteRelay(item) }, onDelete = { postViewModel.deleteRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
index = index, index = index,
dragState = dragState, dragState = dragState,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
@@ -90,6 +93,7 @@ fun LazyListScope.renderBroadcastItems(
Spacer(modifier = StdVertSpacer) Spacer(modifier = StdVertSpacer)
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
modifier = HorzPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -21,16 +21,17 @@
package com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common package com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import com.vitorpamplona.amethyst.model.nip11RelayInfo.Nip11CachedRetriever import com.vitorpamplona.amethyst.model.nip11RelayInfo.Nip11CachedRetriever
import com.vitorpamplona.amethyst.ui.navigation.navs.INav import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.navigation.routes.Route import com.vitorpamplona.amethyst.ui.navigation.routes.Route
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
@Composable @Composable
fun BasicRelaySetupInfoDialog( fun BasicRelaySetupInfoDialog(
item: BasicRelaySetupInfo, item: BasicRelaySetupInfo,
nip11CachedRetriever: Nip11CachedRetriever, nip11CachedRetriever: Nip11CachedRetriever,
modifier: Modifier = Modifier,
onDelete: ((BasicRelaySetupInfo) -> Unit)?, onDelete: ((BasicRelaySetupInfo) -> Unit)?,
countResult: RelayCountResult? = null, countResult: RelayCountResult? = null,
index: Int = -1, index: Int = -1,
@@ -45,7 +46,7 @@ fun BasicRelaySetupInfoDialog(
onDelete = onDelete, onDelete = onDelete,
onClick = { nav.nav(Route.RelayInfo(item.relay.url)) }, onClick = { nav.nav(Route.RelayInfo(item.relay.url)) },
nip11CachedRetriever = nip11CachedRetriever, nip11CachedRetriever = nip11CachedRetriever,
modifier = HorzHalfVertPadding, modifier = modifier,
index = index, index = index,
dragState = dragState, dragState = dragState,
countResult = countResult, countResult = countResult,
@@ -111,6 +111,7 @@ fun RelayUrlEditFieldPreview() {
onNewRelay = {}, onNewRelay = {},
relaySuggestions = relaySuggestions, relaySuggestions = relaySuggestions,
nip11CachedRetriever = Nip11CachedRetriever { TODO() }, nip11CachedRetriever = Nip11CachedRetriever { TODO() },
modifier = Modifier,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = EmptyNav(), nav = EmptyNav(),
) )
@@ -120,12 +121,14 @@ fun RelayUrlEditFieldPreview() {
@Composable @Composable
fun RelayUrlEditField( fun RelayUrlEditField(
onNewRelay: (NormalizedRelayUrl) -> Unit, onNewRelay: (NormalizedRelayUrl) -> Unit,
modifier: Modifier,
accountViewModel: AccountViewModel, accountViewModel: AccountViewModel,
nav: INav, nav: INav,
) { ) {
RelayUrlEditField( RelayUrlEditField(
onNewRelay = onNewRelay, onNewRelay = onNewRelay,
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = modifier,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -135,6 +138,7 @@ fun RelayUrlEditField(
fun RelayUrlEditField( fun RelayUrlEditField(
onNewRelay: (NormalizedRelayUrl) -> Unit, onNewRelay: (NormalizedRelayUrl) -> Unit,
nip11CachedRetriever: Nip11CachedRetriever, nip11CachedRetriever: Nip11CachedRetriever,
modifier: Modifier,
accountViewModel: AccountViewModel, accountViewModel: AccountViewModel,
nav: INav, nav: INav,
) { ) {
@@ -143,6 +147,7 @@ fun RelayUrlEditField(
onNewRelay = onNewRelay, onNewRelay = onNewRelay,
relaySuggestions = relaySuggestions, relaySuggestions = relaySuggestions,
nip11CachedRetriever = nip11CachedRetriever, nip11CachedRetriever = nip11CachedRetriever,
modifier = modifier,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -153,6 +158,7 @@ fun RelayUrlEditField(
onNewRelay: (NormalizedRelayUrl) -> Unit, onNewRelay: (NormalizedRelayUrl) -> Unit,
relaySuggestions: IRelaySuggestionState, relaySuggestions: IRelaySuggestionState,
nip11CachedRetriever: Nip11CachedRetriever, nip11CachedRetriever: Nip11CachedRetriever,
modifier: Modifier,
accountViewModel: AccountViewModel, accountViewModel: AccountViewModel,
nav: INav, nav: INav,
) { ) {
@@ -169,7 +175,7 @@ fun RelayUrlEditField(
} }
} }
Column { Column(modifier) {
OutlinedTextField( OutlinedTextField(
label = { Text(text = stringRes(R.string.add_a_relay)) }, label = { Text(text = stringRes(R.string.add_a_relay)) },
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
@@ -35,6 +35,7 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.BasicRelaySetupInfo import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.BasicRelaySetupInfo
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.BasicRelaySetupInfoDialog import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.BasicRelaySetupInfoDialog
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
@Composable @Composable
fun ConnectedRelayList( fun ConnectedRelayList(
@@ -66,6 +67,7 @@ fun LazyListScope.renderConnectedItems(
item, item,
onDelete = null, onDelete = null,
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -41,6 +41,8 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditF
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
@@ -82,6 +84,7 @@ fun LazyListScope.renderDMItems(
item, item,
onDelete = { postViewModel.deleteRelay(item) }, onDelete = { postViewModel.deleteRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
countResult = countResults[item.relay], countResult = countResults[item.relay],
index = index, index = index,
dragState = dragState, dragState = dragState,
@@ -94,6 +97,7 @@ fun LazyListScope.renderDMItems(
Spacer(modifier = StdVertSpacer) Spacer(modifier = StdVertSpacer)
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
modifier = HorzPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -40,6 +40,8 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditF
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
@Composable @Composable
@@ -79,6 +81,7 @@ fun LazyListScope.renderRelayFeedsItems(
item, item,
onDelete = { postViewModel.deleteRelay(item) }, onDelete = { postViewModel.deleteRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
index = index, index = index,
dragState = dragState, dragState = dragState,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
@@ -90,6 +93,7 @@ fun LazyListScope.renderRelayFeedsItems(
Spacer(modifier = StdVertSpacer) Spacer(modifier = StdVertSpacer)
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
modifier = HorzPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -41,6 +41,8 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditF
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
@@ -82,6 +84,7 @@ fun LazyListScope.renderIndexerItems(
item, item,
onDelete = { postViewModel.deleteRelay(item) }, onDelete = { postViewModel.deleteRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
countResult = countResults[item.relay], countResult = countResults[item.relay],
index = index, index = index,
dragState = dragState, dragState = dragState,
@@ -94,6 +97,7 @@ fun LazyListScope.renderIndexerItems(
Spacer(modifier = StdVertSpacer) Spacer(modifier = StdVertSpacer)
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
modifier = HorzPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -25,11 +25,13 @@ import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.foundation.lazy.LazyListScope
import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.itemsIndexed
import androidx.compose.material3.Switch
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.vitorpamplona.amethyst.Amethyst import com.vitorpamplona.amethyst.Amethyst
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.ui.navigation.navs.INav import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.navigation.navs.rememberExtendedNav import com.vitorpamplona.amethyst.ui.navigation.navs.rememberExtendedNav
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
@@ -39,7 +41,11 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayDragStat
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditField import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditField
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState
import com.vitorpamplona.amethyst.ui.screen.loggedIn.settings.SettingsRow
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
import com.vitorpamplona.amethyst.ui.theme.SettingsCategorySpacingWithHorzBorderModifier
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
@Composable @Composable
@@ -79,6 +85,7 @@ fun LazyListScope.renderLocalItems(
item, item,
onDelete = { postViewModel.deleteRelay(item) }, onDelete = { postViewModel.deleteRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
index = index, index = index,
dragState = dragState, dragState = dragState,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
@@ -87,9 +94,27 @@ fun LazyListScope.renderLocalItems(
} }
item { item {
Spacer(modifier = StdVertSpacer)
if (feedState.isNotEmpty()) {
SettingsRow(
R.string.send_kind0_to_local_relay_title,
R.string.send_kind0_to_local_relay_description,
SettingsCategorySpacingWithHorzBorderModifier,
) {
val checked by accountViewModel.account.settings.syncedSettings.security.sendKind0EventsToLocalRelay
.collectAsStateWithLifecycle()
Switch(
checked = checked,
onCheckedChange = {
accountViewModel.toggleSendKind0ToLocalRelay(it)
},
)
}
}
Spacer(modifier = StdVertSpacer) Spacer(modifier = StdVertSpacer)
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
modifier = HorzPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -41,6 +41,8 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditF
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
@@ -82,6 +84,7 @@ fun LazyListScope.renderPrivateOutboxItems(
item, item,
onDelete = { postViewModel.deleteRelay(item) }, onDelete = { postViewModel.deleteRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
countResult = countResults[item.relay], countResult = countResults[item.relay],
index = index, index = index,
dragState = dragState, dragState = dragState,
@@ -94,6 +97,7 @@ fun LazyListScope.renderPrivateOutboxItems(
Spacer(modifier = StdVertSpacer) Spacer(modifier = StdVertSpacer)
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
modifier = HorzPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -41,6 +41,8 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditF
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
@@ -141,6 +143,7 @@ fun LazyListScope.renderNip65HomeItems(
item, item,
onDelete = { postViewModel.deleteHomeRelay(item) }, onDelete = { postViewModel.deleteHomeRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
countResult = countResults[item.relay], countResult = countResults[item.relay],
index = index, index = index,
dragState = dragState, dragState = dragState,
@@ -153,6 +156,7 @@ fun LazyListScope.renderNip65HomeItems(
Spacer(modifier = StdVertSpacer) Spacer(modifier = StdVertSpacer)
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addHomeRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addHomeRelay(relaySetupInfoBuilder(it)) },
modifier = HorzPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -172,6 +176,7 @@ fun LazyListScope.renderNip65NotifItems(
item, item,
onDelete = { postViewModel.deleteNotifRelay(item) }, onDelete = { postViewModel.deleteNotifRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
countResult = countResults[item.relay], countResult = countResults[item.relay],
index = index, index = index,
dragState = dragState, dragState = dragState,
@@ -184,6 +189,7 @@ fun LazyListScope.renderNip65NotifItems(
Spacer(modifier = StdVertSpacer) Spacer(modifier = StdVertSpacer)
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addNotifRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addNotifRelay(relaySetupInfoBuilder(it)) },
modifier = HorzPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -41,6 +41,8 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditF
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
@@ -82,6 +84,7 @@ fun LazyListScope.renderProxyItems(
item, item,
onDelete = { postViewModel.deleteRelay(item) }, onDelete = { postViewModel.deleteRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
countResult = countResults[item.relay], countResult = countResults[item.relay],
index = index, index = index,
dragState = dragState, dragState = dragState,
@@ -94,6 +97,7 @@ fun LazyListScope.renderProxyItems(
Spacer(modifier = StdVertSpacer) Spacer(modifier = StdVertSpacer)
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
modifier = HorzPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -41,6 +41,8 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditF
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
@@ -82,6 +84,7 @@ fun LazyListScope.renderSearchItems(
item, item,
onDelete = { postViewModel.deleteRelay(item) }, onDelete = { postViewModel.deleteRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
countResult = countResults[item.relay], countResult = countResults[item.relay],
index = index, index = index,
dragState = dragState, dragState = dragState,
@@ -94,6 +97,7 @@ fun LazyListScope.renderSearchItems(
Spacer(modifier = StdVertSpacer) Spacer(modifier = StdVertSpacer)
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
modifier = HorzPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -40,6 +40,8 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditF
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.rememberRelayDragState
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
@Composable @Composable
@@ -79,6 +81,7 @@ fun LazyListScope.renderTrustedItems(
item, item,
onDelete = { postViewModel.deleteRelay(item) }, onDelete = { postViewModel.deleteRelay(item) },
nip11CachedRetriever = Amethyst.instance.nip11Cache, nip11CachedRetriever = Amethyst.instance.nip11Cache,
modifier = HorzHalfVertPadding,
index = index, index = index,
dragState = dragState, dragState = dragState,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
@@ -90,6 +93,7 @@ fun LazyListScope.renderTrustedItems(
Spacer(modifier = StdVertSpacer) Spacer(modifier = StdVertSpacer)
RelayUrlEditField( RelayUrlEditField(
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) }, onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
modifier = HorzPadding,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -82,6 +82,7 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.RelayUrlEditF
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInfoBuilder
import com.vitorpamplona.amethyst.ui.stringRes import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.theme.DividerThickness import com.vitorpamplona.amethyst.ui.theme.DividerThickness
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.displayUrl import com.vitorpamplona.quartz.nip01Core.relay.normalizer.displayUrl
@@ -208,6 +209,7 @@ fun RequestToVanishScreen(
BasicRelaySetupInfoDialog( BasicRelaySetupInfoDialog(
info, info,
onDelete = { selectedRelayUrls -= selectedRelayUrls }, onDelete = { selectedRelayUrls -= selectedRelayUrls },
modifier = HorzHalfVertPadding,
nip11CachedRetriever = nip11CachedRetriever, nip11CachedRetriever = nip11CachedRetriever,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
@@ -221,6 +223,7 @@ fun RequestToVanishScreen(
allRelaysSelected = false allRelaysSelected = false
}, },
nip11CachedRetriever = nip11CachedRetriever, nip11CachedRetriever = nip11CachedRetriever,
modifier = Modifier,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -389,11 +389,12 @@ fun SettingsRow(
fun SettingsRow( fun SettingsRow(
name: Int, name: Int,
description: Int, description: Int,
modifier: Modifier = Modifier.fillMaxWidth(),
content: @Composable () -> Unit, content: @Composable () -> Unit,
) { ) {
Row( Row(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth(), modifier = modifier,
horizontalArrangement = Arrangement.spacedBy(5.dp), horizontalArrangement = Arrangement.spacedBy(5.dp),
) { ) {
Column( Column(
@@ -345,6 +345,9 @@ val PostKeyboard =
val SettingsCategoryFirstModifier = Modifier.padding(bottom = 8.dp) val SettingsCategoryFirstModifier = Modifier.padding(bottom = 8.dp)
val SettingsCategorySpacingModifier = Modifier.padding(top = 24.dp, bottom = 8.dp) val SettingsCategorySpacingModifier = Modifier.padding(top = 24.dp, bottom = 8.dp)
val SettingsCategoryFirstWithHorzBorderModifier = Modifier.padding(bottom = 8.dp, start = 10.dp, end = 10.dp)
val SettingsCategorySpacingWithHorzBorderModifier = Modifier.padding(top = 24.dp, bottom = 8.dp, start = 10.dp, end = 10.dp)
val SquaredQuoteBorderModifier = Modifier.aspectRatio(1f).clip(shape = QuoteBorder) val SquaredQuoteBorderModifier = Modifier.aspectRatio(1f).clip(shape = QuoteBorder)
val FillWidthQuoteBorderModifier = Modifier.fillMaxWidth().clip(shape = QuoteBorder) val FillWidthQuoteBorderModifier = Modifier.fillMaxWidth().clip(shape = QuoteBorder)