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.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,
|
||||||
)
|
)
|
||||||
|
|||||||
+16
@@ -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) {
|
||||||
|
|||||||
+15
-35
@@ -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)
|
||||||
|
|||||||
+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.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,
|
||||||
)
|
)
|
||||||
|
|||||||
+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.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,
|
||||||
)
|
)
|
||||||
|
|||||||
+3
-2
@@ -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,
|
||||||
|
|||||||
+7
-1
@@ -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(),
|
||||||
|
|||||||
+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.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,
|
||||||
)
|
)
|
||||||
|
|||||||
+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.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,
|
||||||
)
|
)
|
||||||
|
|||||||
+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.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,
|
||||||
)
|
)
|
||||||
|
|||||||
+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.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
@@ -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,
|
||||||
)
|
)
|
||||||
|
|||||||
+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.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,
|
||||||
)
|
)
|
||||||
|
|||||||
+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.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,
|
||||||
)
|
)
|
||||||
|
|||||||
+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.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,
|
||||||
)
|
)
|
||||||
|
|||||||
+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.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,
|
||||||
)
|
)
|
||||||
|
|||||||
+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.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,
|
||||||
)
|
)
|
||||||
|
|||||||
+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.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,
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-1
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user