mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-08-07 20:00:06 +00:00
fix: show donation progress percent
This commit is contained in:
parent
0f7e9615e4
commit
aeb5e04321
10 changed files with 41 additions and 18 deletions
|
|
@ -1852,7 +1852,7 @@
|
|||
<string name="addons_appstore_install_button">Добави</string>
|
||||
<string name="community_donation_progress_title">Сървър и поддръжка за този месец</string>
|
||||
<string name="community_donation_progress_complete">Покрито. Допълнителната подкрепа вече отива за разработка.</string>
|
||||
<string name="community_donation_progress_remaining">След 100%% допълнителната подкрепа отива за разработка.</string>
|
||||
<string name="community_donation_progress_remaining">След 100% допълнителната подкрепа отива за разработка.</string>
|
||||
<string name="community_loading_donation_progress">Зареждане на напредъка на финансирането...</string>
|
||||
<string name="compose_auth_terms_prefix">С регистрацията си се съгласявам с</string>
|
||||
<string name="compose_auth_terms_link">Условията</string>
|
||||
|
|
|
|||
|
|
@ -788,7 +788,7 @@
|
|||
<string name="community_section_description">Podívejte se na lidi, kteří tvoří a podporují Nuvio na Mobilech, TV a Webu.</string>
|
||||
<string name="community_donation_progress_title">Tento měsíc za servery a údržbu</string>
|
||||
<string name="community_donation_progress_complete">Pokryto. Dodatečná podpora nyní půjde na vývoj.</string>
|
||||
<string name="community_donation_progress_remaining">Po dosažení 100%% půjde další podpora na vývoj.</string>
|
||||
<string name="community_donation_progress_remaining">Po dosažení 100% půjde další podpora na vývoj.</string>
|
||||
<string name="community_loading_donation_progress">Načítání průběhu financování...</string>
|
||||
<string name="community_supporters_not_configured">Supporters API není nakonfigurováno. Přidejte DONATIONS_BASE_URL do local.properties.</string>
|
||||
<string name="community_tab_contributors">Přispěvatelé</string>
|
||||
|
|
|
|||
|
|
@ -1331,7 +1331,7 @@
|
|||
<string name="collections_trakt_rate_limit_reached">Trakt Αξιολόγηση limit reached</string>
|
||||
<string name="collections_trakt_request_failed">Trakt request Απέτυχε</string>
|
||||
<string name="community_donation_progress_complete">Covered. Προσθήκηitional support now goes to development.</string>
|
||||
<string name="community_donation_progress_remaining">After 100%%, Προσθήκηitional support goes to development.</string>
|
||||
<string name="community_donation_progress_remaining">After 100%, Προσθήκηitional support goes to development.</string>
|
||||
<string name="community_donation_progress_title">Αυτό τον μήνα's server & maintenance</string>
|
||||
<string name="community_loading_donation_progress">Φόρτωση funding progress...</string>
|
||||
<string name="compose_auth_terms_link">Terms</string>
|
||||
|
|
@ -1911,4 +1911,4 @@
|
|||
<string name="updates_github_api_error">GitHub releases API Σφάλμα: %1$d</string>
|
||||
<string name="updates_no_channel_release">No upΗμερομηνία has been published yet.</string>
|
||||
<string name="updates_release_missing_title">Release has Όχι tag or name</string>
|
||||
</resources>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -788,7 +788,7 @@
|
|||
<string name="community_section_description">Mira a las personas que construyen y apoyan Nuvio en Mobile, TV y Web.</string>
|
||||
<string name="community_donation_progress_title">Servidor y mantenimiento de este mes</string>
|
||||
<string name="community_donation_progress_complete">Cubierto. El apoyo adicional ahora se destina al desarrollo.</string>
|
||||
<string name="community_donation_progress_remaining">Después del 100%%, el apoyo adicional se destina al desarrollo.</string>
|
||||
<string name="community_donation_progress_remaining">Después del 100%, el apoyo adicional se destina al desarrollo.</string>
|
||||
<string name="community_loading_donation_progress">Cargando progreso de financiación...</string>
|
||||
<string name="community_supporters_not_configured">La API de patrocinadores no está configurada. Agrega DONATIONS_BASE_URL a local.properties.</string>
|
||||
<string name="community_tab_contributors">Colaboradores</string>
|
||||
|
|
|
|||
|
|
@ -780,7 +780,7 @@
|
|||
<string name="community_section_description">Découvrez les personnes qui construisent et soutiennent Nuvio sur Mobile, TV et Web.</string>
|
||||
<string name="community_donation_progress_title">Serveur et maintenance de ce mois-ci</string>
|
||||
<string name="community_donation_progress_complete">Couvert. Le soutien supplémentaire va désormais au développement.</string>
|
||||
<string name="community_donation_progress_remaining">Au-delà de 100 %%, le soutien supplémentaire va au développement.</string>
|
||||
<string name="community_donation_progress_remaining">Au-delà de 100 %, le soutien supplémentaire va au développement.</string>
|
||||
<string name="community_loading_donation_progress">Chargement de la progression du financement…</string>
|
||||
<string name="community_supporters_not_configured">L’API des supporters n’est pas configurée. Ajoutez DONATIONS_BASE_URL dans local.properties.</string>
|
||||
<string name="community_tab_contributors">Contributeurs</string>
|
||||
|
|
|
|||
|
|
@ -1517,6 +1517,6 @@
|
|||
<string name="compose_settings_root_advanced_description">Avvio e comportamento profili.</string>
|
||||
<string name="supporters_contributors_donation_progress_title">Costi di manutenzione e server</string>
|
||||
<string name="supporters_contributors_donation_progress_complete">Coperto. Qualsiasi supporto ulteriore andrà allo sviluppo.</string>
|
||||
<string name="supporters_contributors_donation_progress_remaining">Dopo il 100%%, eventuale supporto in più andrà allo sviluppo.</string>
|
||||
<string name="supporters_contributors_donation_progress_remaining">Dopo il 100%, eventuale supporto in più andrà allo sviluppo.</string>
|
||||
<string name="supporters_contributors_donate_button">Dona a Nuvio</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -788,7 +788,7 @@
|
|||
<string name="community_section_description">Mobile・TV・Webを通じてNuvioを構築・支援している人々をご覧ください。</string>
|
||||
<string name="community_donation_progress_title">今月のサーバー・メンテナンス費用</string>
|
||||
<string name="community_donation_progress_complete">達成済み。追加のサポートは開発費に充てられます。</string>
|
||||
<string name="community_donation_progress_remaining">100%%を超えた追加サポートは開発費に充てられます。</string>
|
||||
<string name="community_donation_progress_remaining">100%を超えた追加サポートは開発費に充てられます。</string>
|
||||
<string name="community_loading_donation_progress">資金調達状況を読み込み中...</string>
|
||||
<string name="community_supporters_not_configured">サポーターAPIが設定されていません。local.propertiesにDONATIONS_BASE_URLを追加してください。</string>
|
||||
<string name="community_tab_contributors">コントリビューター</string>
|
||||
|
|
|
|||
|
|
@ -778,7 +778,7 @@
|
|||
<string name="community_section_description">Pozrite sa na ľudí, ktorí budujú a podporujú Nuvio na Mobile, TV a Webe.</string>
|
||||
<string name="community_donation_progress_title">Server a údržba tohto mesiaca</string>
|
||||
<string name="community_donation_progress_complete">Pokryté. Ďalšia podpora ide na vývoj.</string>
|
||||
<string name="community_donation_progress_remaining">Po 100 %% ide ďalšia podpora na vývoj.</string>
|
||||
<string name="community_donation_progress_remaining">Po 100 % ide ďalšia podpora na vývoj.</string>
|
||||
<string name="community_loading_donation_progress">Načítavanie postupu financovania...</string>
|
||||
<string name="community_supporters_not_configured">API podporovateľov nie je nakonfigurované. Pridajte DONATIONS_BASE_URL do local.properties.</string>
|
||||
<string name="community_tab_contributors">Prispievatelia</string>
|
||||
|
|
|
|||
|
|
@ -814,7 +814,7 @@
|
|||
<string name="community_section_description">See the people building and supporting Nuvio across Mobile, TV, and Web.</string>
|
||||
<string name="community_donation_progress_title">This month's server & maintenance</string>
|
||||
<string name="community_donation_progress_complete">Covered. Additional support now goes to development.</string>
|
||||
<string name="community_donation_progress_remaining">After 100%%, additional support goes to development.</string>
|
||||
<string name="community_donation_progress_remaining">After 100%, additional support goes to development.</string>
|
||||
<string name="community_loading_donation_progress">Loading funding progress...</string>
|
||||
<string name="community_supporters_not_configured">Supporters API is not configured. Add DONATIONS_BASE_URL to local.properties.</string>
|
||||
<string name="community_tab_contributors">Contributors</string>
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ import kotlinx.coroutines.launch
|
|||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.decodeFromString
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlin.math.roundToInt
|
||||
import nuvio.composeapp.generated.resources.*
|
||||
import org.jetbrains.compose.resources.getString
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
|
|
@ -208,8 +209,7 @@ private object SupportersContributorsRepository {
|
|||
|
||||
val progress = donationsResponse.monthlyGoal
|
||||
?.progressPercent
|
||||
?.toInt()
|
||||
?.coerceIn(0, 100)
|
||||
?.toDonationProgressPercent()
|
||||
?.let { percent -> DonationProgress(progressPercent = percent) }
|
||||
|
||||
SupportersResult(
|
||||
|
|
@ -240,6 +240,15 @@ private object SupportersContributorsRepository {
|
|||
val day = parts[2].toLongOrNull() ?: return Long.MIN_VALUE
|
||||
return year * 10_000L + month * 100L + day
|
||||
}
|
||||
|
||||
private fun Double.toDonationProgressPercent(): Int? {
|
||||
if (isNaN()) return null
|
||||
return when {
|
||||
this >= 100.0 -> 100
|
||||
this <= 0.0 -> 0
|
||||
else -> roundToInt().coerceIn(0, 99)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
|
|
@ -630,13 +639,27 @@ private fun DonationProgressSection(
|
|||
modifier = Modifier.fillMaxWidth(),
|
||||
verticalArrangement = Arrangement.spacedBy(10.dp),
|
||||
) {
|
||||
Text(
|
||||
text = stringResource(Res.string.community_donation_progress_title),
|
||||
style = MaterialTheme.typography.titleSmall,
|
||||
color = MaterialTheme.colorScheme.onSurface,
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
Row(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
)
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(12.dp),
|
||||
) {
|
||||
Text(
|
||||
text = stringResource(Res.string.community_donation_progress_title),
|
||||
style = MaterialTheme.typography.titleSmall,
|
||||
color = MaterialTheme.colorScheme.onSurface,
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
modifier = Modifier.weight(1f),
|
||||
)
|
||||
if (progress != null && errorMessage == null) {
|
||||
Text(
|
||||
text = "$percent%",
|
||||
style = MaterialTheme.typography.titleSmall,
|
||||
color = MaterialTheme.colorScheme.primary,
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (isLoading && progress == null) {
|
||||
LinearProgressIndicator(
|
||||
|
|
|
|||
Loading…
Reference in a new issue