mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-16 03:09:56 +00:00
Various improvements
This commit is contained in:
parent
24cb5668a6
commit
9bb789dc75
@ -12571,7 +12571,7 @@ Sorry for the inconvenience.";
|
||||
"WebBrowser.AutoLogin.Info" = "Use your Telegram account to automatically log in to websites opened in the in-app browser.";
|
||||
|
||||
"WebBrowser.ClearCookies" = "Clear Cookies";
|
||||
"WebBrowser.ClearCookies.Info" = "Delete all cookies and cache in the Telegram in-app browser. This action will sign you out of most websites.";
|
||||
"WebBrowser.ClearCookies.Info" = "Delete all cookies in the Telegram in-app browser. This action will sign you out of most websites.";
|
||||
"WebBrowser.ClearCookies.Succeed" = "Cookies cleared.";
|
||||
|
||||
"WebBrowser.Exceptions.Title" = "NEVER OPEN IN THE IN-APP BROWSER";
|
||||
|
||||
@ -250,7 +250,7 @@ private func webBrowserSettingsControllerEntries(context: AccountContext, presen
|
||||
|
||||
if settings.defaultWebBrowser == nil {
|
||||
entries.append(.clearCookies(presentationData.theme, presentationData.strings.WebBrowser_ClearCookies))
|
||||
entries.append(.clearCache(presentationData.theme, presentationData.strings.WebBrowser_ClearCache))
|
||||
// entries.append(.clearCache(presentationData.theme, presentationData.strings.WebBrowser_ClearCache))
|
||||
entries.append(.clearCookiesInfo(presentationData.theme, presentationData.strings.WebBrowser_ClearCookies_Info))
|
||||
|
||||
entries.append(.exceptionsHeader(presentationData.theme, presentationData.strings.WebBrowser_Exceptions_Title))
|
||||
|
||||
@ -178,10 +178,10 @@ final class MonetizationBalanceItemNode: ListViewItemNode, ItemListItemNode {
|
||||
if let stats = item.stats as? RevenueStats {
|
||||
let cryptoValue = formatTonAmountText(stats.balances.availableBalance, decimalSeparator: item.presentationData.dateTimeFormat.decimalSeparator)
|
||||
amountString = tonAmountAttributedString(cryptoValue, integralFont: integralFont, fractionalFont: fractionalFont, color: item.presentationData.theme.list.itemPrimaryTextColor)
|
||||
value = stats.balances.availableBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.availableBalance, rate: stats.usdRate))"
|
||||
value = stats.balances.availableBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.availableBalance, rate: stats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))"
|
||||
} else if let stats = item.stats as? StarsRevenueStats {
|
||||
amountString = NSAttributedString(string: presentationStringsFormattedNumber(Int32(stats.balances.availableBalance), item.presentationData.dateTimeFormat.groupingSeparator), font: integralFont, textColor: item.presentationData.theme.list.itemPrimaryTextColor)
|
||||
value = stats.balances.availableBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.availableBalance, divide: false, rate: stats.usdRate))"
|
||||
value = stats.balances.availableBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.availableBalance, divide: false, rate: stats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))"
|
||||
isStars = true
|
||||
} else {
|
||||
fatalError()
|
||||
|
||||
@ -774,7 +774,7 @@ class StatsOverviewItemNode: ListViewItemNode {
|
||||
item.presentationData,
|
||||
formatTonAmountText(stats.balances.availableBalance, decimalSeparator: item.presentationData.dateTimeFormat.decimalSeparator),
|
||||
item.presentationData.strings.Monetization_StarsProceeds_Available,
|
||||
(stats.balances.availableBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.availableBalance, rate: stats.usdRate))", .generic),
|
||||
(stats.balances.availableBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.availableBalance, rate: stats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))", .generic),
|
||||
.ton
|
||||
)
|
||||
|
||||
@ -784,7 +784,7 @@ class StatsOverviewItemNode: ListViewItemNode {
|
||||
item.presentationData,
|
||||
formatTonAmountText(stats.balances.currentBalance, decimalSeparator: item.presentationData.dateTimeFormat.decimalSeparator),
|
||||
item.presentationData.strings.Monetization_StarsProceeds_Current,
|
||||
(stats.balances.currentBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.currentBalance, rate: stats.usdRate))", .generic),
|
||||
(stats.balances.currentBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.currentBalance, rate: stats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))", .generic),
|
||||
.ton
|
||||
)
|
||||
|
||||
@ -794,7 +794,7 @@ class StatsOverviewItemNode: ListViewItemNode {
|
||||
item.presentationData,
|
||||
formatTonAmountText(stats.balances.overallRevenue, decimalSeparator: item.presentationData.dateTimeFormat.decimalSeparator),
|
||||
item.presentationData.strings.Monetization_StarsProceeds_Total,
|
||||
(stats.balances.overallRevenue == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.overallRevenue, rate: stats.usdRate))", .generic),
|
||||
(stats.balances.overallRevenue == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.overallRevenue, rate: stats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))", .generic),
|
||||
.ton
|
||||
)
|
||||
|
||||
@ -804,7 +804,7 @@ class StatsOverviewItemNode: ListViewItemNode {
|
||||
item.presentationData,
|
||||
presentationStringsFormattedNumber(Int32(additionalStats.balances.availableBalance), item.presentationData.dateTimeFormat.groupingSeparator),
|
||||
" ",
|
||||
(additionalStats.balances.availableBalance == 0 ? "" : "≈\(formatTonUsdValue(additionalStats.balances.availableBalance, divide: false, rate: additionalStats.usdRate))", .generic),
|
||||
(additionalStats.balances.availableBalance == 0 ? "" : "≈\(formatTonUsdValue(additionalStats.balances.availableBalance, divide: false, rate: additionalStats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))", .generic),
|
||||
.stars
|
||||
)
|
||||
|
||||
@ -814,7 +814,7 @@ class StatsOverviewItemNode: ListViewItemNode {
|
||||
item.presentationData,
|
||||
presentationStringsFormattedNumber(Int32(additionalStats.balances.currentBalance), item.presentationData.dateTimeFormat.groupingSeparator),
|
||||
" ",
|
||||
(additionalStats.balances.currentBalance == 0 ? "" : "≈\(formatTonUsdValue(additionalStats.balances.currentBalance, divide: false, rate: additionalStats.usdRate))", .generic),
|
||||
(additionalStats.balances.currentBalance == 0 ? "" : "≈\(formatTonUsdValue(additionalStats.balances.currentBalance, divide: false, rate: additionalStats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))", .generic),
|
||||
.stars
|
||||
)
|
||||
|
||||
@ -824,7 +824,7 @@ class StatsOverviewItemNode: ListViewItemNode {
|
||||
item.presentationData,
|
||||
presentationStringsFormattedNumber(Int32(additionalStats.balances.overallRevenue), item.presentationData.dateTimeFormat.groupingSeparator),
|
||||
" ",
|
||||
(additionalStats.balances.overallRevenue == 0 ? "" : "≈\(formatTonUsdValue(additionalStats.balances.overallRevenue, divide: false, rate: additionalStats.usdRate))", .generic),
|
||||
(additionalStats.balances.overallRevenue == 0 ? "" : "≈\(formatTonUsdValue(additionalStats.balances.overallRevenue, divide: false, rate: additionalStats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))", .generic),
|
||||
.stars
|
||||
)
|
||||
|
||||
@ -838,7 +838,7 @@ class StatsOverviewItemNode: ListViewItemNode {
|
||||
item.presentationData,
|
||||
formatTonAmountText(stats.balances.availableBalance, decimalSeparator: item.presentationData.dateTimeFormat.decimalSeparator),
|
||||
item.presentationData.strings.Monetization_Overview_Available,
|
||||
(stats.balances.availableBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.availableBalance, rate: stats.usdRate))", .generic),
|
||||
(stats.balances.availableBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.availableBalance, rate: stats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))", .generic),
|
||||
.ton
|
||||
)
|
||||
|
||||
@ -848,7 +848,7 @@ class StatsOverviewItemNode: ListViewItemNode {
|
||||
item.presentationData,
|
||||
formatTonAmountText(stats.balances.currentBalance, decimalSeparator: item.presentationData.dateTimeFormat.decimalSeparator),
|
||||
item.presentationData.strings.Monetization_Overview_Current,
|
||||
(stats.balances.currentBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.currentBalance, rate: stats.usdRate))", .generic),
|
||||
(stats.balances.currentBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.currentBalance, rate: stats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))", .generic),
|
||||
.ton
|
||||
)
|
||||
|
||||
@ -858,7 +858,7 @@ class StatsOverviewItemNode: ListViewItemNode {
|
||||
item.presentationData,
|
||||
formatTonAmountText(stats.balances.overallRevenue, decimalSeparator: item.presentationData.dateTimeFormat.decimalSeparator),
|
||||
item.presentationData.strings.Monetization_Overview_Total,
|
||||
(stats.balances.overallRevenue == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.overallRevenue, rate: stats.usdRate))", .generic),
|
||||
(stats.balances.overallRevenue == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.overallRevenue, rate: stats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))", .generic),
|
||||
.ton
|
||||
)
|
||||
|
||||
@ -873,7 +873,7 @@ class StatsOverviewItemNode: ListViewItemNode {
|
||||
item.presentationData,
|
||||
presentationStringsFormattedNumber(Int32(stats.balances.availableBalance), item.presentationData.dateTimeFormat.groupingSeparator),
|
||||
item.presentationData.strings.Monetization_StarsProceeds_Available,
|
||||
(stats.balances.availableBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.availableBalance, rate: stats.usdRate))", .generic),
|
||||
(stats.balances.availableBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.availableBalance, rate: stats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))", .generic),
|
||||
.stars
|
||||
)
|
||||
|
||||
@ -883,7 +883,7 @@ class StatsOverviewItemNode: ListViewItemNode {
|
||||
item.presentationData,
|
||||
presentationStringsFormattedNumber(Int32(stats.balances.currentBalance), item.presentationData.dateTimeFormat.groupingSeparator),
|
||||
item.presentationData.strings.Monetization_StarsProceeds_Current,
|
||||
(stats.balances.currentBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.currentBalance, rate: stats.usdRate))", .generic),
|
||||
(stats.balances.currentBalance == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.currentBalance, rate: stats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))", .generic),
|
||||
.stars
|
||||
)
|
||||
|
||||
@ -893,7 +893,7 @@ class StatsOverviewItemNode: ListViewItemNode {
|
||||
item.presentationData,
|
||||
presentationStringsFormattedNumber(Int32(stats.balances.overallRevenue), item.presentationData.dateTimeFormat.groupingSeparator),
|
||||
item.presentationData.strings.Monetization_StarsProceeds_Total,
|
||||
(stats.balances.overallRevenue == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.overallRevenue, rate: stats.usdRate))", .generic),
|
||||
(stats.balances.overallRevenue == 0 ? "" : "≈\(formatTonUsdValue(stats.balances.overallRevenue, rate: stats.usdRate, dateTimeFormat: item.presentationData.dateTimeFormat))", .generic),
|
||||
.stars
|
||||
)
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import TelegramPresentationData
|
||||
|
||||
let walletAddressLength: Int = 48
|
||||
|
||||
@ -9,9 +10,20 @@ public func formatTonAddress(_ address: String) -> String {
|
||||
return address
|
||||
}
|
||||
|
||||
public func formatTonUsdValue(_ value: Int64, divide: Bool = true, rate: Double) -> String {
|
||||
public func formatTonUsdValue(_ value: Int64, divide: Bool = true, rate: Double, dateTimeFormat: PresentationDateTimeFormat) -> String {
|
||||
let decimalSeparator = dateTimeFormat.decimalSeparator
|
||||
let normalizedValue: Double = divide ? Double(value) / 1000000000 : Double(value)
|
||||
let formattedValue = String(format: "%0.2f", normalizedValue * rate)
|
||||
var formattedValue = String(format: "%0.2f", normalizedValue * rate)
|
||||
formattedValue = formattedValue.replacingOccurrences(of: ".", with: decimalSeparator)
|
||||
if let dotIndex = formattedValue.firstIndex(of: decimalSeparator.first!) {
|
||||
let integerPartString = formattedValue[..<dotIndex]
|
||||
if let integerPart = Int32(integerPartString) {
|
||||
let modifiedIntegerPart = presentationStringsFormattedNumber(integerPart, dateTimeFormat.groupingSeparator)
|
||||
|
||||
let resultString = "$\(modifiedIntegerPart)\(formattedValue[dotIndex...])"
|
||||
return resultString
|
||||
}
|
||||
}
|
||||
return "$\(formattedValue)"
|
||||
}
|
||||
|
||||
|
||||
@ -168,7 +168,7 @@ final class StarsBalanceComponent: Component {
|
||||
|
||||
let subtitleText: String
|
||||
if let rate = component.rate {
|
||||
subtitleText = "≈\(formatStarsUsdValue(component.count, rate: rate))"
|
||||
subtitleText = "≈\(formatTonUsdValue(component.count, divide: false, rate: rate, dateTimeFormat: component.dateTimeFormat))"
|
||||
} else {
|
||||
subtitleText = component.strings.Stars_Intro_YourBalance
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import AccountContext
|
||||
import MultilineTextComponent
|
||||
import TelegramPresentationData
|
||||
import PresentationDataUtils
|
||||
import TelegramStringFormatting
|
||||
|
||||
final class StarsOverviewItemComponent: Component {
|
||||
let theme: PresentationTheme
|
||||
@ -80,7 +81,7 @@ final class StarsOverviewItemComponent: Component {
|
||||
}
|
||||
|
||||
let valueString = presentationStringsFormattedNumber(Int32(component.value), component.dateTimeFormat.groupingSeparator)
|
||||
let usdValueString = formatStarsUsdValue(component.value, rate: component.rate)
|
||||
let usdValueString = formatTonUsdValue(component.value, divide: false, rate: component.rate, dateTimeFormat: component.dateTimeFormat)
|
||||
|
||||
let valueSize = self.value.update(
|
||||
transition: .immediate,
|
||||
|
||||
@ -1,6 +0,0 @@
|
||||
import Foundation
|
||||
|
||||
func formatStarsUsdValue(_ value: Int64, rate: Double) -> String {
|
||||
let formattedValue = String(format: "%0.2f", (Double(value)) * rate)
|
||||
return "$\(formattedValue)"
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"app": "10.14.3",
|
||||
"app": "10.15",
|
||||
"xcode": "15.2",
|
||||
"bazel": "7.1.1",
|
||||
"macos": "13.0"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user