Fixes relay ui spacing after the drag and drop feature was added.
This commit is contained in:
+3
@@ -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.stringRes
|
||||
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.SettingsCategorySpacingModifier
|
||||
import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn
|
||||
@@ -224,6 +225,7 @@ private fun ChannelMetadataScaffold(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteHomeRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
@@ -232,6 +234,7 @@ private fun ChannelMetadataScaffold(
|
||||
item {
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addHomeRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = Modifier,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+16
@@ -20,19 +20,35 @@
|
||||
*/
|
||||
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.material3.FloatingActionButton
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
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.unit.dp
|
||||
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.routes.Route
|
||||
import com.vitorpamplona.amethyst.ui.painterRes
|
||||
import com.vitorpamplona.amethyst.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.ui.theme.Size26Modifier
|
||||
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
|
||||
fun NewNoteButton(nav: INav) {
|
||||
|
||||
+15
-35
@@ -37,7 +37,6 @@ import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.OutlinedButton
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Switch
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
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.trusted.TrustedRelayListViewModel
|
||||
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.theme.FeedPadding
|
||||
import com.vitorpamplona.amethyst.ui.theme.RowColSpacing
|
||||
import com.vitorpamplona.amethyst.ui.theme.SettingsCategoryFirstModifier
|
||||
import com.vitorpamplona.amethyst.ui.theme.SettingsCategorySpacingModifier
|
||||
import com.vitorpamplona.amethyst.ui.theme.SettingsCategoryFirstWithHorzBorderModifier
|
||||
import com.vitorpamplona.amethyst.ui.theme.SettingsCategorySpacingWithHorzBorderModifier
|
||||
import com.vitorpamplona.amethyst.ui.theme.grayText
|
||||
|
||||
@Composable
|
||||
@@ -339,7 +337,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
R.string.public_home_section,
|
||||
R.string.public_home_section_explainer,
|
||||
SettingsCategoryFirstModifier,
|
||||
SettingsCategoryFirstWithHorzBorderModifier,
|
||||
)
|
||||
}
|
||||
renderNip65HomeItems(homeFeedState, nip65ViewModel, accountViewModel, nav, outboxCounts, homeDragState)
|
||||
@@ -348,7 +346,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
R.string.public_notif_section,
|
||||
R.string.public_notif_section_explainer,
|
||||
SettingsCategorySpacingModifier,
|
||||
SettingsCategorySpacingWithHorzBorderModifier,
|
||||
)
|
||||
}
|
||||
renderNip65NotifItems(notifFeedState, nip65ViewModel, accountViewModel, nav, inboxCounts, notifDragState)
|
||||
@@ -357,7 +355,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategoryWithButton(
|
||||
R.string.private_inbox_section,
|
||||
R.string.private_inbox_section_explainer,
|
||||
SettingsCategorySpacingModifier,
|
||||
SettingsCategorySpacingWithHorzBorderModifier,
|
||||
action = {
|
||||
ResetDMRelays(dmViewModel)
|
||||
},
|
||||
@@ -369,7 +367,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
R.string.private_outbox_section,
|
||||
R.string.private_outbox_section_explainer,
|
||||
SettingsCategorySpacingModifier,
|
||||
SettingsCategorySpacingWithHorzBorderModifier,
|
||||
)
|
||||
}
|
||||
renderPrivateOutboxItems(privateOutboxFeedState, privateOutboxViewModel, accountViewModel, nav, privateHomeCounts, privateOutboxDragState)
|
||||
@@ -378,7 +376,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
R.string.proxy_section,
|
||||
R.string.proxy_section_explainer,
|
||||
SettingsCategorySpacingModifier,
|
||||
SettingsCategorySpacingWithHorzBorderModifier,
|
||||
)
|
||||
}
|
||||
renderProxyItems(proxyRelays, proxyViewModel, accountViewModel, nav, proxyCounts, proxyDragState)
|
||||
@@ -387,7 +385,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
R.string.broadcast_section,
|
||||
R.string.broadcast_section_explainer,
|
||||
SettingsCategorySpacingModifier,
|
||||
SettingsCategorySpacingWithHorzBorderModifier,
|
||||
)
|
||||
}
|
||||
renderBroadcastItems(broadcastRelays, broadcastViewModel, accountViewModel, nav, broadcastDragState)
|
||||
@@ -396,7 +394,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategoryWithButton(
|
||||
R.string.indexer_section,
|
||||
R.string.indexer_section_explainer,
|
||||
SettingsCategorySpacingModifier,
|
||||
SettingsCategorySpacingWithHorzBorderModifier,
|
||||
) {
|
||||
ResetIndexerRelays(indexerViewModel)
|
||||
}
|
||||
@@ -407,7 +405,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategoryWithButton(
|
||||
R.string.search_section,
|
||||
R.string.search_section_explainer,
|
||||
SettingsCategorySpacingModifier,
|
||||
SettingsCategorySpacingWithHorzBorderModifier,
|
||||
) {
|
||||
ResetSearchRelays(searchViewModel)
|
||||
}
|
||||
@@ -418,34 +416,16 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
R.string.local_section,
|
||||
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)
|
||||
|
||||
item {
|
||||
SettingsCategory(
|
||||
R.string.trusted_section,
|
||||
R.string.trusted_section_explainer,
|
||||
SettingsCategorySpacingModifier,
|
||||
SettingsCategorySpacingWithHorzBorderModifier,
|
||||
)
|
||||
}
|
||||
renderTrustedItems(trustedFeedState, trustedViewModel, accountViewModel, nav, trustedDragState)
|
||||
@@ -454,7 +434,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
R.string.favorite_section,
|
||||
R.string.favorite_section_explainer,
|
||||
SettingsCategorySpacingModifier,
|
||||
SettingsCategorySpacingWithHorzBorderModifier,
|
||||
)
|
||||
}
|
||||
renderRelayFeedsItems(relayFeedsFeedState, relayFeedsViewModel, accountViewModel, nav, feedsDragState)
|
||||
@@ -463,7 +443,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
R.string.blocked_section,
|
||||
R.string.blocked_section_explainer,
|
||||
SettingsCategorySpacingModifier,
|
||||
SettingsCategorySpacingWithHorzBorderModifier,
|
||||
)
|
||||
}
|
||||
renderBlockedItems(blockedFeedState, blockedViewModel, accountViewModel, nav, blockedDragState)
|
||||
@@ -472,7 +452,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
R.string.connected_section,
|
||||
R.string.connected_section_description,
|
||||
SettingsCategorySpacingModifier,
|
||||
SettingsCategorySpacingWithHorzBorderModifier,
|
||||
)
|
||||
}
|
||||
renderConnectedItems(connectedRelays, connectedViewModel, accountViewModel, nav)
|
||||
|
||||
+4
@@ -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.rememberRelayDragState
|
||||
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
|
||||
|
||||
@Composable
|
||||
@@ -79,6 +81,7 @@ fun LazyListScope.renderBlockedItems(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
accountViewModel = accountViewModel,
|
||||
@@ -90,6 +93,7 @@ fun LazyListScope.renderBlockedItems(
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = HorzPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+4
@@ -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.rememberRelayDragState
|
||||
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
|
||||
|
||||
@Composable
|
||||
@@ -79,6 +81,7 @@ fun LazyListScope.renderBroadcastItems(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
accountViewModel = accountViewModel,
|
||||
@@ -90,6 +93,7 @@ fun LazyListScope.renderBroadcastItems(
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = HorzPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+3
-2
@@ -21,16 +21,17 @@
|
||||
package com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import com.vitorpamplona.amethyst.model.nip11RelayInfo.Nip11CachedRetriever
|
||||
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.ui.navigation.routes.Route
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
|
||||
|
||||
@Composable
|
||||
fun BasicRelaySetupInfoDialog(
|
||||
item: BasicRelaySetupInfo,
|
||||
nip11CachedRetriever: Nip11CachedRetriever,
|
||||
modifier: Modifier = Modifier,
|
||||
onDelete: ((BasicRelaySetupInfo) -> Unit)?,
|
||||
countResult: RelayCountResult? = null,
|
||||
index: Int = -1,
|
||||
@@ -45,7 +46,7 @@ fun BasicRelaySetupInfoDialog(
|
||||
onDelete = onDelete,
|
||||
onClick = { nav.nav(Route.RelayInfo(item.relay.url)) },
|
||||
nip11CachedRetriever = nip11CachedRetriever,
|
||||
modifier = HorzHalfVertPadding,
|
||||
modifier = modifier,
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
countResult = countResult,
|
||||
|
||||
+7
-1
@@ -111,6 +111,7 @@ fun RelayUrlEditFieldPreview() {
|
||||
onNewRelay = {},
|
||||
relaySuggestions = relaySuggestions,
|
||||
nip11CachedRetriever = Nip11CachedRetriever { TODO() },
|
||||
modifier = Modifier,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = EmptyNav(),
|
||||
)
|
||||
@@ -120,12 +121,14 @@ fun RelayUrlEditFieldPreview() {
|
||||
@Composable
|
||||
fun RelayUrlEditField(
|
||||
onNewRelay: (NormalizedRelayUrl) -> Unit,
|
||||
modifier: Modifier,
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
RelayUrlEditField(
|
||||
onNewRelay = onNewRelay,
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = modifier,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
@@ -135,6 +138,7 @@ fun RelayUrlEditField(
|
||||
fun RelayUrlEditField(
|
||||
onNewRelay: (NormalizedRelayUrl) -> Unit,
|
||||
nip11CachedRetriever: Nip11CachedRetriever,
|
||||
modifier: Modifier,
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
@@ -143,6 +147,7 @@ fun RelayUrlEditField(
|
||||
onNewRelay = onNewRelay,
|
||||
relaySuggestions = relaySuggestions,
|
||||
nip11CachedRetriever = nip11CachedRetriever,
|
||||
modifier = modifier,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
@@ -153,6 +158,7 @@ fun RelayUrlEditField(
|
||||
onNewRelay: (NormalizedRelayUrl) -> Unit,
|
||||
relaySuggestions: IRelaySuggestionState,
|
||||
nip11CachedRetriever: Nip11CachedRetriever,
|
||||
modifier: Modifier,
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
@@ -169,7 +175,7 @@ fun RelayUrlEditField(
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
Column(modifier) {
|
||||
OutlinedTextField(
|
||||
label = { Text(text = stringRes(R.string.add_a_relay)) },
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
|
||||
+2
@@ -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.BasicRelaySetupInfoDialog
|
||||
import com.vitorpamplona.amethyst.ui.theme.FeedPadding
|
||||
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
|
||||
|
||||
@Composable
|
||||
fun ConnectedRelayList(
|
||||
@@ -66,6 +67,7 @@ fun LazyListScope.renderConnectedItems(
|
||||
item,
|
||||
onDelete = null,
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+4
@@ -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.rememberRelayDragState
|
||||
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.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
|
||||
@@ -82,6 +84,7 @@ fun LazyListScope.renderDMItems(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
countResult = countResults[item.relay],
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
@@ -94,6 +97,7 @@ fun LazyListScope.renderDMItems(
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = HorzPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+4
@@ -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.rememberRelayDragState
|
||||
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
|
||||
|
||||
@Composable
|
||||
@@ -79,6 +81,7 @@ fun LazyListScope.renderRelayFeedsItems(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
accountViewModel = accountViewModel,
|
||||
@@ -90,6 +93,7 @@ fun LazyListScope.renderRelayFeedsItems(
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = HorzPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+4
@@ -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.rememberRelayDragState
|
||||
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.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
|
||||
@@ -82,6 +84,7 @@ fun LazyListScope.renderIndexerItems(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
countResult = countResults[item.relay],
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
@@ -94,6 +97,7 @@ fun LazyListScope.renderIndexerItems(
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = HorzPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+25
@@ -25,11 +25,13 @@ import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.LazyListScope
|
||||
import androidx.compose.foundation.lazy.itemsIndexed
|
||||
import androidx.compose.material3.Switch
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
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.rememberExtendedNav
|
||||
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.relaySetupInfoBuilder
|
||||
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.HorzHalfVertPadding
|
||||
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
|
||||
import com.vitorpamplona.amethyst.ui.theme.SettingsCategorySpacingWithHorzBorderModifier
|
||||
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
|
||||
|
||||
@Composable
|
||||
@@ -79,6 +85,7 @@ fun LazyListScope.renderLocalItems(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
accountViewModel = accountViewModel,
|
||||
@@ -87,9 +94,27 @@ fun LazyListScope.renderLocalItems(
|
||||
}
|
||||
|
||||
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)
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = HorzPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+4
@@ -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.rememberRelayDragState
|
||||
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.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
|
||||
@@ -82,6 +84,7 @@ fun LazyListScope.renderPrivateOutboxItems(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
countResult = countResults[item.relay],
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
@@ -94,6 +97,7 @@ fun LazyListScope.renderPrivateOutboxItems(
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = HorzPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+6
@@ -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.rememberRelayDragState
|
||||
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.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
|
||||
@@ -141,6 +143,7 @@ fun LazyListScope.renderNip65HomeItems(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteHomeRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
countResult = countResults[item.relay],
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
@@ -153,6 +156,7 @@ fun LazyListScope.renderNip65HomeItems(
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addHomeRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = HorzPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
@@ -172,6 +176,7 @@ fun LazyListScope.renderNip65NotifItems(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteNotifRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
countResult = countResults[item.relay],
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
@@ -184,6 +189,7 @@ fun LazyListScope.renderNip65NotifItems(
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addNotifRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = HorzPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+4
@@ -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.rememberRelayDragState
|
||||
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.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
|
||||
@@ -82,6 +84,7 @@ fun LazyListScope.renderProxyItems(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
countResult = countResults[item.relay],
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
@@ -94,6 +97,7 @@ fun LazyListScope.renderProxyItems(
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = HorzPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+4
@@ -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.rememberRelayDragState
|
||||
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.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
|
||||
@@ -82,6 +84,7 @@ fun LazyListScope.renderSearchItems(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
countResult = countResults[item.relay],
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
@@ -94,6 +97,7 @@ fun LazyListScope.renderSearchItems(
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = HorzPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+4
@@ -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.rememberRelayDragState
|
||||
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
|
||||
|
||||
@Composable
|
||||
@@ -79,6 +81,7 @@ fun LazyListScope.renderTrustedItems(
|
||||
item,
|
||||
onDelete = { postViewModel.deleteRelay(item) },
|
||||
nip11CachedRetriever = Amethyst.instance.nip11Cache,
|
||||
modifier = HorzHalfVertPadding,
|
||||
index = index,
|
||||
dragState = dragState,
|
||||
accountViewModel = accountViewModel,
|
||||
@@ -90,6 +93,7 @@ fun LazyListScope.renderTrustedItems(
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
RelayUrlEditField(
|
||||
onNewRelay = { postViewModel.addRelay(relaySetupInfoBuilder(it)) },
|
||||
modifier = HorzPadding,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+3
@@ -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.stringRes
|
||||
import com.vitorpamplona.amethyst.ui.theme.DividerThickness
|
||||
import com.vitorpamplona.amethyst.ui.theme.HorzHalfVertPadding
|
||||
import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.displayUrl
|
||||
@@ -208,6 +209,7 @@ fun RequestToVanishScreen(
|
||||
BasicRelaySetupInfoDialog(
|
||||
info,
|
||||
onDelete = { selectedRelayUrls -= selectedRelayUrls },
|
||||
modifier = HorzHalfVertPadding,
|
||||
nip11CachedRetriever = nip11CachedRetriever,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
@@ -221,6 +223,7 @@ fun RequestToVanishScreen(
|
||||
allRelaysSelected = false
|
||||
},
|
||||
nip11CachedRetriever = nip11CachedRetriever,
|
||||
modifier = Modifier,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
|
||||
+2
-1
@@ -389,11 +389,12 @@ fun SettingsRow(
|
||||
fun SettingsRow(
|
||||
name: Int,
|
||||
description: Int,
|
||||
modifier: Modifier = Modifier.fillMaxWidth(),
|
||||
content: @Composable () -> Unit,
|
||||
) {
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
modifier = modifier,
|
||||
horizontalArrangement = Arrangement.spacedBy(5.dp),
|
||||
) {
|
||||
Column(
|
||||
|
||||
@@ -345,6 +345,9 @@ val PostKeyboard =
|
||||
val SettingsCategoryFirstModifier = Modifier.padding(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 FillWidthQuoteBorderModifier = Modifier.fillMaxWidth().clip(shape = QuoteBorder)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user