ui: change labels in server stats, move percentage toggle (#4468)

* ui: change labels in server stats, move percentage toggle

* localizations
This commit is contained in:
Evgeny Poberezkin
2024-07-16 20:41:00 +01:00
committed by GitHub
parent 065d9be614
commit dae9f8575d
22 changed files with 217 additions and 159 deletions
@@ -50,10 +50,10 @@ import chat.simplex.common.platform.appPlatform
import chat.simplex.common.ui.theme.*
import chat.simplex.common.views.helpers.*
import chat.simplex.common.views.usersettings.ProtocolServersView
import chat.simplex.common.views.usersettings.SettingsPreferenceItem
import chat.simplex.res.MR
import dev.icerock.moko.resources.compose.painterResource
import dev.icerock.moko.resources.compose.stringResource
import kotlinx.coroutines.cancel
import kotlinx.coroutines.launch
import kotlinx.datetime.Instant
import numOrDash
@@ -345,6 +345,7 @@ private fun SMPSubscriptionsSection(totals: SMPTotals) {
generalGetString(MR.strings.servers_info_subscriptions_total),
numOrDash(totals.subs.total)
)
SettingsPreferenceItem(null, stringResource(MR.strings.subscription_percentage), chatModel.controller.appPrefs.networkShowSubscriptionPercentage)
}
}
}
@@ -768,7 +769,7 @@ fun ModalData.ServersSummaryView(rh: RemoteHostInfo?, serversSummary: MutableSta
) { PresentedServerType.entries.size }
KeyChangeEffect(serverTypePagerState.currentPage) {
selectedServerType.value = PresentedServerType.values()[serverTypePagerState.currentPage]
selectedServerType.value = PresentedServerType.entries[serverTypePagerState.currentPage]
}
TabRow(
selectedTabIndex = serverTypePagerState.currentPage,
@@ -42,7 +42,6 @@ fun NetworkAndServersView() {
// It's not a state, just a one-time value. Shouldn't be used in any state-related situations
val netCfg = remember { chatModel.controller.getNetCfg() }
val networkUseSocksProxy: MutableState<Boolean> = remember { mutableStateOf(netCfg.useSocksProxy) }
val networkShowSubscriptionPercentage: MutableState<Boolean> = remember { mutableStateOf(chatModel.controller.appPrefs.networkShowSubscriptionPercentage.get()) }
val developerTools = chatModel.controller.appPrefs.developerTools.get()
val onionHosts = remember { mutableStateOf(netCfg.onionHosts) }
val sessionMode = remember { mutableStateOf(netCfg.sessionMode) }
@@ -54,7 +53,6 @@ fun NetworkAndServersView() {
currentRemoteHost = currentRemoteHost,
developerTools = developerTools,
networkUseSocksProxy = networkUseSocksProxy,
networkShowSubscriptionPercentage = networkShowSubscriptionPercentage,
onionHosts = onionHosts,
sessionMode = sessionMode,
smpProxyMode = smpProxyMode,
@@ -119,9 +117,6 @@ fun NetworkAndServersView() {
)
}
},
toggleNetworkShowSubscriptionPercentage = { enable ->
networkShowSubscriptionPercentage.value = enable
},
useOnion = {
if (onionHosts.value == it) return@NetworkAndServersLayout
val prevValue = onionHosts.value
@@ -235,14 +230,12 @@ fun NetworkAndServersView() {
currentRemoteHost: RemoteHostInfo?,
developerTools: Boolean,
networkUseSocksProxy: MutableState<Boolean>,
networkShowSubscriptionPercentage: MutableState<Boolean>,
onionHosts: MutableState<OnionHosts>,
sessionMode: MutableState<TransportSessionMode>,
smpProxyMode: MutableState<SMPProxyMode>,
smpProxyFallback: MutableState<SMPProxyFallback>,
proxyPort: State<Int>,
toggleSocksProxy: (Boolean) -> Unit,
toggleNetworkShowSubscriptionPercentage: (Boolean) -> Unit,
useOnion: (OnionHosts) -> Unit,
updateSessionMode: (TransportSessionMode) -> Unit,
updateSMPProxyMode: (SMPProxyMode) -> Unit,
@@ -263,7 +256,6 @@ fun NetworkAndServersView() {
SettingsActionItem(painterResource(MR.images.ic_dns), stringResource(MR.strings.xftp_servers), { ModalManager.start.showCustomModal { close -> ProtocolServersView(m, m.remoteHostId, ServerProtocol.XFTP, close) } })
if (currentRemoteHost == null) {
SettingsPreferenceItem(painterResource(MR.images.ic_radiowaves_up_forward_4_bar),stringResource(MR.strings.subscription_percentage), chatModel.controller.appPrefs.networkShowSubscriptionPercentage)
UseSocksProxySwitch(networkUseSocksProxy, proxyPort, toggleSocksProxy, showModal, chatModel.controller.appPrefs.networkProxyHostPort, false)
UseOnionHosts(onionHosts, networkUseSocksProxy, showModal, useOnion)
if (developerTools) {
@@ -685,10 +677,8 @@ fun PreviewNetworkAndServersLayout() {
currentRemoteHost = null,
developerTools = true,
networkUseSocksProxy = remember { mutableStateOf(true) },
networkShowSubscriptionPercentage = remember { mutableStateOf(false) },
proxyPort = remember { mutableStateOf(9050) },
toggleSocksProxy = {},
toggleNetworkShowSubscriptionPercentage = {},
onionHosts = remember { mutableStateOf(OnionHosts.PREFER) },
sessionMode = remember { mutableStateOf(TransportSessionMode.User) },
smpProxyMode = remember { mutableStateOf(SMPProxyMode.Never) },
@@ -700,7 +700,7 @@
<string name="xftp_servers">XFTP servers</string>
<string name="xftp_servers_configured">Configured XFTP servers</string>
<string name="xftp_servers_other">Other XFTP servers</string>
<string name="subscription_percentage">Subscription percentage</string>
<string name="subscription_percentage">Show percentage</string>
<string name="install_simplex_chat_for_terminal">Install SimpleX Chat for terminal</string>
<string name="star_on_github">Star on GitHub</string>
<string name="contribute">Contribute</string>
@@ -2120,8 +2120,8 @@
<string name="servers_info_files_tab">Files</string>
<string name="servers_info_missing">No info, try to reload</string>
<string name="servers_info_target">Showing info for</string>
<string name="all_users">All users</string>
<string name="current_user">Current user</string>
<string name="all_users">All profiles</string>
<string name="current_user">Current profile</string>
<string name="servers_info_transport_sessions_section_header">Transport sessions</string>
<string name="servers_info_sessions_connected">Connected</string>
<string name="servers_info_sessions_connecting">Connecting</string>