Removes dependency on a modifier for SettingsCategory
This commit is contained in:
+19
-16
@@ -67,6 +67,8 @@ import com.vitorpamplona.amethyst.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.ui.theme.DoubleHorzSpacer
|
||||
import com.vitorpamplona.amethyst.ui.theme.DoubleVertPadding
|
||||
import com.vitorpamplona.amethyst.ui.theme.FeedPadding
|
||||
import com.vitorpamplona.amethyst.ui.theme.SettingsCategoryFirstModifier
|
||||
import com.vitorpamplona.amethyst.ui.theme.SettingsCategorySpacingModifier
|
||||
import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer
|
||||
import com.vitorpamplona.amethyst.ui.theme.grayText
|
||||
|
||||
@@ -184,7 +186,7 @@ fun AllMediaBody(
|
||||
SettingsCategory(
|
||||
stringRes(R.string.media_servers_nip96_section),
|
||||
stringRes(R.string.media_servers_nip96_explainer),
|
||||
Modifier.padding(bottom = 8.dp),
|
||||
SettingsCategoryFirstModifier,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -205,6 +207,7 @@ fun AllMediaBody(
|
||||
SettingsCategory(
|
||||
stringRes(R.string.media_servers_blossom_section),
|
||||
stringRes(R.string.media_servers_blossom_explainer),
|
||||
SettingsCategorySpacingModifier,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -226,22 +229,22 @@ fun AllMediaBody(
|
||||
SettingsCategoryWithButton(
|
||||
title = stringRes(id = R.string.built_in_media_servers_title),
|
||||
description = stringRes(id = R.string.built_in_servers_description),
|
||||
action = {
|
||||
OutlinedButton(
|
||||
onClick = {
|
||||
nip96ServersViewModel.addServerList(
|
||||
it.mapNotNull { s -> if (s.type == ServerType.NIP96) s.baseUrl else null },
|
||||
)
|
||||
modifier = SettingsCategorySpacingModifier,
|
||||
) {
|
||||
OutlinedButton(
|
||||
onClick = {
|
||||
nip96ServersViewModel.addServerList(
|
||||
it.mapNotNull { s -> if (s.type == ServerType.NIP96) s.baseUrl else null },
|
||||
)
|
||||
|
||||
blossomServersViewModel.addServerList(
|
||||
it.mapNotNull { s -> if (s.type == ServerType.Blossom) s.baseUrl else null },
|
||||
)
|
||||
},
|
||||
) {
|
||||
Text(text = stringRes(id = R.string.use_default_servers))
|
||||
}
|
||||
},
|
||||
)
|
||||
blossomServersViewModel.addServerList(
|
||||
it.mapNotNull { s -> if (s.type == ServerType.Blossom) s.baseUrl else null },
|
||||
)
|
||||
},
|
||||
) {
|
||||
Text(text = stringRes(id = R.string.use_default_servers))
|
||||
}
|
||||
}
|
||||
}
|
||||
itemsIndexed(
|
||||
it,
|
||||
|
||||
-16
@@ -60,7 +60,6 @@ import com.vitorpamplona.amethyst.service.OnlineChecker
|
||||
import com.vitorpamplona.amethyst.service.ZapPaymentHandler
|
||||
import com.vitorpamplona.amethyst.service.checkNotInMainThread
|
||||
import com.vitorpamplona.amethyst.service.lnurl.LightningAddressResolver
|
||||
import com.vitorpamplona.amethyst.service.proxyPort.ProxyPortFlow
|
||||
import com.vitorpamplona.amethyst.ui.actions.Dao
|
||||
import com.vitorpamplona.amethyst.ui.components.UrlPreviewState
|
||||
import com.vitorpamplona.amethyst.ui.components.toasts.ToastManager
|
||||
@@ -155,21 +154,6 @@ class AccountViewModel(
|
||||
|
||||
val newNotesPreProcessor = PrecacheNewNotesProcessor(account, LocalCache)
|
||||
|
||||
val proxyPortLogic =
|
||||
ProxyPortFlow(
|
||||
account.settings.torSettings.torType,
|
||||
account.settings.torSettings.externalSocksPort,
|
||||
Amethyst.instance.torManager.status,
|
||||
).status.stateIn(
|
||||
viewModelScope,
|
||||
SharingStarted.WhileSubscribed(30000),
|
||||
ProxyPortFlow.computePort(
|
||||
account.settings.torSettings.torType.value,
|
||||
account.settings.torSettings.externalSocksPort.value,
|
||||
Amethyst.instance.torManager.status.value,
|
||||
),
|
||||
)
|
||||
|
||||
var firstRoute: Route? = null
|
||||
|
||||
// TODO: contact lists are not notes yet
|
||||
|
||||
+4
-1
@@ -71,6 +71,8 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.common.relaySetupInf
|
||||
import com.vitorpamplona.amethyst.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.ui.theme.DoubleVertSpacer
|
||||
import com.vitorpamplona.amethyst.ui.theme.MinHorzSpacer
|
||||
import com.vitorpamplona.amethyst.ui.theme.SettingsCategoryFirstModifier
|
||||
import com.vitorpamplona.amethyst.ui.theme.SettingsCategorySpacingModifier
|
||||
import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer
|
||||
import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn
|
||||
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
||||
@@ -208,7 +210,7 @@ private fun ChannelMetadataScaffold(
|
||||
SettingsCategory(
|
||||
stringRes(R.string.public_chat_title),
|
||||
stringRes(R.string.public_chat_explainer),
|
||||
Modifier.padding(bottom = 8.dp),
|
||||
SettingsCategoryFirstModifier,
|
||||
)
|
||||
|
||||
ChannelName(postViewModel)
|
||||
@@ -224,6 +226,7 @@ private fun ChannelMetadataScaffold(
|
||||
SettingsCategory(
|
||||
stringRes(R.string.public_chat_relays_title),
|
||||
stringRes(R.string.public_chat_relays_explainer),
|
||||
SettingsCategorySpacingModifier,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+19
-11
@@ -20,6 +20,7 @@
|
||||
*/
|
||||
package com.vitorpamplona.amethyst.ui.screen.loggedIn.relays
|
||||
|
||||
import android.R.attr.action
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
@@ -73,6 +74,8 @@ import com.vitorpamplona.amethyst.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.ui.theme.FeedPadding
|
||||
import com.vitorpamplona.amethyst.ui.theme.MinHorzSpacer
|
||||
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.StdHorzSpacer
|
||||
import com.vitorpamplona.amethyst.ui.theme.grayText
|
||||
import com.vitorpamplona.ammolite.relays.Constants
|
||||
@@ -196,7 +199,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
stringRes(R.string.public_home_section),
|
||||
stringRes(R.string.public_home_section_explainer),
|
||||
Modifier.padding(bottom = 8.dp),
|
||||
SettingsCategoryFirstModifier,
|
||||
)
|
||||
}
|
||||
renderNip65HomeItems(homeFeedState, nip65ViewModel, accountViewModel, newNav)
|
||||
@@ -205,6 +208,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
stringRes(R.string.public_notif_section),
|
||||
stringRes(R.string.public_notif_section_explainer),
|
||||
SettingsCategorySpacingModifier,
|
||||
)
|
||||
}
|
||||
renderNip65NotifItems(notifFeedState, nip65ViewModel, accountViewModel, newNav)
|
||||
@@ -213,6 +217,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategoryWithButton(
|
||||
stringRes(R.string.private_inbox_section),
|
||||
stringRes(R.string.private_inbox_section_explainer),
|
||||
SettingsCategorySpacingModifier,
|
||||
action = {
|
||||
ResetDMRelays(dmViewModel)
|
||||
},
|
||||
@@ -224,6 +229,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
stringRes(R.string.private_outbox_section),
|
||||
stringRes(R.string.private_outbox_section_explainer),
|
||||
SettingsCategorySpacingModifier,
|
||||
)
|
||||
}
|
||||
renderPrivateOutboxItems(privateOutboxFeedState, privateOutboxViewModel, accountViewModel, newNav)
|
||||
@@ -232,10 +238,10 @@ fun MappedAllRelayListView(
|
||||
SettingsCategoryWithButton(
|
||||
stringRes(R.string.search_section),
|
||||
stringRes(R.string.search_section_explainer),
|
||||
action = {
|
||||
ResetSearchRelays(searchViewModel)
|
||||
},
|
||||
)
|
||||
SettingsCategorySpacingModifier,
|
||||
) {
|
||||
ResetSearchRelays(searchViewModel)
|
||||
}
|
||||
}
|
||||
renderSearchItems(searchFeedState, searchViewModel, accountViewModel, newNav)
|
||||
|
||||
@@ -243,6 +249,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
stringRes(R.string.local_section),
|
||||
stringRes(R.string.local_section_explainer),
|
||||
SettingsCategorySpacingModifier,
|
||||
)
|
||||
}
|
||||
renderLocalItems(localFeedState, localViewModel, accountViewModel, newNav)
|
||||
@@ -251,10 +258,10 @@ fun MappedAllRelayListView(
|
||||
SettingsCategoryWithButton(
|
||||
stringRes(R.string.kind_3_section),
|
||||
stringRes(R.string.kind_3_section_description),
|
||||
action = {
|
||||
ResetKind3Relays(kind3ViewModel)
|
||||
},
|
||||
)
|
||||
SettingsCategorySpacingModifier,
|
||||
) {
|
||||
ResetKind3Relays(kind3ViewModel)
|
||||
}
|
||||
}
|
||||
renderKind3Items(kind3FeedState, kind3ViewModel, accountViewModel, newNav, relayToAdd)
|
||||
|
||||
@@ -263,6 +270,7 @@ fun MappedAllRelayListView(
|
||||
SettingsCategory(
|
||||
stringRes(R.string.kind_3_recommended_section),
|
||||
stringRes(R.string.kind_3_recommended_section_description),
|
||||
SettingsCategorySpacingModifier,
|
||||
)
|
||||
}
|
||||
renderKind3ProposalItems(kind3Proposals, kind3ViewModel, accountViewModel, newNav)
|
||||
@@ -320,7 +328,7 @@ fun ResetDMRelays(postViewModel: DMRelayListViewModel) {
|
||||
fun SettingsCategory(
|
||||
title: String,
|
||||
description: String? = null,
|
||||
modifier: Modifier = Modifier.padding(top = 24.dp, bottom = 8.dp),
|
||||
modifier: Modifier,
|
||||
) {
|
||||
Column(modifier) {
|
||||
Text(
|
||||
@@ -342,8 +350,8 @@ fun SettingsCategory(
|
||||
fun SettingsCategoryWithButton(
|
||||
title: String,
|
||||
description: String? = null,
|
||||
modifier: Modifier,
|
||||
action: @Composable () -> Unit,
|
||||
modifier: Modifier = Modifier.padding(top = 24.dp, bottom = 8.dp),
|
||||
) {
|
||||
Row(modifier, horizontalArrangement = RowColSpacing) {
|
||||
Column(modifier = Modifier.weight(1f)) {
|
||||
|
||||
@@ -314,3 +314,6 @@ val PostKeyboard =
|
||||
autoCorrectEnabled = true,
|
||||
capitalization = KeyboardCapitalization.Sentences,
|
||||
)
|
||||
|
||||
val SettingsCategoryFirstModifier = Modifier.padding(bottom = 8.dp)
|
||||
val SettingsCategorySpacingModifier = Modifier.padding(top = 24.dp, bottom = 8.dp)
|
||||
|
||||
@@ -172,20 +172,6 @@ val LightReplyBorderModifier =
|
||||
.clip(shape = QuoteBorder)
|
||||
.border(1.dp, LightSubtleBorder, QuoteBorder)
|
||||
|
||||
val DarkVideoBorderModifier =
|
||||
Modifier
|
||||
.padding(top = 5.dp)
|
||||
.fillMaxWidth()
|
||||
.clip(shape = RectangleShape)
|
||||
.border(1.dp, DarkSubtleBorder, RectangleShape)
|
||||
|
||||
val LightVideoBorderModifier =
|
||||
Modifier
|
||||
.padding(top = 2.dp, bottom = 0.dp, start = 0.dp, end = 0.dp)
|
||||
.fillMaxWidth()
|
||||
.clip(shape = RectangleShape)
|
||||
.border(1.dp, LightSubtleBorder, RectangleShape)
|
||||
|
||||
val DarkInnerPostBorderModifier =
|
||||
Modifier
|
||||
.padding(vertical = 5.dp)
|
||||
|
||||
Reference in New Issue
Block a user