mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Various fixes
This commit is contained in:
parent
9dd0e3f69e
commit
656f4899c2
@ -44,7 +44,11 @@ func isValidNumberOfUsers(_ number: String) -> Bool {
|
|||||||
if number.rangeOfCharacter(from: invalidAmountCharacters) != nil || number == "0" {
|
if number.rangeOfCharacter(from: invalidAmountCharacters) != nil || number == "0" {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true
|
if let _ = Int32(number) {
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private enum InviteLinksEditEntry: ItemListNodeEntry {
|
private enum InviteLinksEditEntry: ItemListNodeEntry {
|
||||||
@ -55,7 +59,7 @@ private enum InviteLinksEditEntry: ItemListNodeEntry {
|
|||||||
case timeInfo(PresentationTheme, String)
|
case timeInfo(PresentationTheme, String)
|
||||||
|
|
||||||
case usageHeader(PresentationTheme, String)
|
case usageHeader(PresentationTheme, String)
|
||||||
case usagePicker(PresentationTheme, InviteLinkUsageLimit)
|
case usagePicker(PresentationTheme, PresentationDateTimeFormat, InviteLinkUsageLimit)
|
||||||
case usageCustomPicker(PresentationTheme, Int32?, Bool, Bool)
|
case usageCustomPicker(PresentationTheme, Int32?, Bool, Bool)
|
||||||
case usageInfo(PresentationTheme, String)
|
case usageInfo(PresentationTheme, String)
|
||||||
|
|
||||||
@ -135,8 +139,8 @@ private enum InviteLinksEditEntry: ItemListNodeEntry {
|
|||||||
} else {
|
} else {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
case let .usagePicker(lhsTheme, lhsValue):
|
case let .usagePicker(lhsTheme, lhsDateTimeFormat, lhsValue):
|
||||||
if case let .usagePicker(rhsTheme, rhsValue) = rhs, lhsTheme === rhsTheme, lhsValue == rhsValue {
|
if case let .usagePicker(rhsTheme, rhsDateTimeFormat, rhsValue) = rhs, lhsTheme === rhsTheme, lhsDateTimeFormat == rhsDateTimeFormat, lhsValue == rhsValue {
|
||||||
return true
|
return true
|
||||||
} else {
|
} else {
|
||||||
return false
|
return false
|
||||||
@ -209,8 +213,8 @@ private enum InviteLinksEditEntry: ItemListNodeEntry {
|
|||||||
return ItemListTextItem(presentationData: presentationData, text: .plain(text), sectionId: self.section)
|
return ItemListTextItem(presentationData: presentationData, text: .plain(text), sectionId: self.section)
|
||||||
case let .usageHeader(_, text):
|
case let .usageHeader(_, text):
|
||||||
return ItemListSectionHeaderItem(presentationData: presentationData, text: text, sectionId: self.section)
|
return ItemListSectionHeaderItem(presentationData: presentationData, text: text, sectionId: self.section)
|
||||||
case let .usagePicker(_, value):
|
case let .usagePicker(_, dateTimeFormat, value):
|
||||||
return ItemListInviteLinkUsageLimitItem(theme: presentationData.theme, strings: presentationData.strings, value: value, enabled: true, sectionId: self.section, updated: { value in
|
return ItemListInviteLinkUsageLimitItem(theme: presentationData.theme, strings: presentationData.strings, dateTimeFormat: dateTimeFormat, value: value, enabled: true, sectionId: self.section, updated: { value in
|
||||||
arguments.dismissInput()
|
arguments.dismissInput()
|
||||||
arguments.updateState({ state in
|
arguments.updateState({ state in
|
||||||
var updatedState = state
|
var updatedState = state
|
||||||
@ -234,7 +238,9 @@ private enum InviteLinksEditEntry: ItemListNodeEntry {
|
|||||||
}
|
}
|
||||||
arguments.updateState { state in
|
arguments.updateState { state in
|
||||||
var updatedState = state
|
var updatedState = state
|
||||||
updatedState.usage = InviteLinkUsageLimit(value: Int32(updatedText))
|
if let value = Int32(updatedText) {
|
||||||
|
updatedState.usage = InviteLinkUsageLimit(value: value)
|
||||||
|
}
|
||||||
return updatedState
|
return updatedState
|
||||||
}
|
}
|
||||||
}, shouldUpdateText: { text in
|
}, shouldUpdateText: { text in
|
||||||
@ -288,7 +294,7 @@ private func inviteLinkEditControllerEntries(invite: ExportedInvitation?, state:
|
|||||||
entries.append(.timeInfo(presentationData.theme, presentationData.strings.InviteLink_Create_TimeLimitInfo))
|
entries.append(.timeInfo(presentationData.theme, presentationData.strings.InviteLink_Create_TimeLimitInfo))
|
||||||
|
|
||||||
entries.append(.usageHeader(presentationData.theme, presentationData.strings.InviteLink_Create_UsersLimit.uppercased()))
|
entries.append(.usageHeader(presentationData.theme, presentationData.strings.InviteLink_Create_UsersLimit.uppercased()))
|
||||||
entries.append(.usagePicker(presentationData.theme, state.usage))
|
entries.append(.usagePicker(presentationData.theme, presentationData.dateTimeFormat, state.usage))
|
||||||
|
|
||||||
var customValue = false
|
var customValue = false
|
||||||
if case .custom = state.usage {
|
if case .custom = state.usage {
|
||||||
|
@ -297,7 +297,7 @@ private func inviteLinkListControllerEntries(presentationData: PresentationData,
|
|||||||
mainInvite = nil
|
mainInvite = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
entries.append(.mainLinkHeader(presentationData.theme, isPublic ? presentationData.strings.InviteLink_PublicLink.uppercased() : presentationData.strings.InviteLink_PermanentLink.uppercased()))
|
entries.append(.mainLinkHeader(presentationData.theme, isPublic ? presentationData.strings.InviteLink_PublicLink.uppercased() : presentationData.strings.InviteLink_InviteLink.uppercased()))
|
||||||
|
|
||||||
let importersCount: Int32
|
let importersCount: Int32
|
||||||
if let count = importers?.count {
|
if let count = importers?.count {
|
||||||
|
@ -89,14 +89,16 @@ enum InviteLinkUsageLimit: Equatable {
|
|||||||
final class ItemListInviteLinkUsageLimitItem: ListViewItem, ItemListItem {
|
final class ItemListInviteLinkUsageLimitItem: ListViewItem, ItemListItem {
|
||||||
let theme: PresentationTheme
|
let theme: PresentationTheme
|
||||||
let strings: PresentationStrings
|
let strings: PresentationStrings
|
||||||
|
let dateTimeFormat: PresentationDateTimeFormat
|
||||||
let value: InviteLinkUsageLimit
|
let value: InviteLinkUsageLimit
|
||||||
let enabled: Bool
|
let enabled: Bool
|
||||||
let sectionId: ItemListSectionId
|
let sectionId: ItemListSectionId
|
||||||
let updated: (InviteLinkUsageLimit) -> Void
|
let updated: (InviteLinkUsageLimit) -> Void
|
||||||
|
|
||||||
init(theme: PresentationTheme, strings: PresentationStrings, value: InviteLinkUsageLimit, enabled: Bool, sectionId: ItemListSectionId, updated: @escaping (InviteLinkUsageLimit) -> Void) {
|
init(theme: PresentationTheme, strings: PresentationStrings, dateTimeFormat: PresentationDateTimeFormat, value: InviteLinkUsageLimit, enabled: Bool, sectionId: ItemListSectionId, updated: @escaping (InviteLinkUsageLimit) -> Void) {
|
||||||
self.theme = theme
|
self.theme = theme
|
||||||
self.strings = strings
|
self.strings = strings
|
||||||
|
self.dateTimeFormat = dateTimeFormat
|
||||||
self.value = value
|
self.value = value
|
||||||
self.enabled = enabled
|
self.enabled = enabled
|
||||||
self.sectionId = sectionId
|
self.sectionId = sectionId
|
||||||
@ -285,7 +287,7 @@ private final class ItemListInviteLinkUsageLimitItemNode: ListViewItemNode {
|
|||||||
|
|
||||||
let customTextString: String
|
let customTextString: String
|
||||||
if case let .custom(value) = item.value {
|
if case let .custom(value) = item.value {
|
||||||
customTextString = "\(value)"
|
customTextString = compactNumericCountString(Int(value), decimalSeparator: item.dateTimeFormat.decimalSeparator)
|
||||||
} else {
|
} else {
|
||||||
customTextString = ""
|
customTextString = ""
|
||||||
}
|
}
|
||||||
|
@ -413,7 +413,7 @@ public func universalServiceMessageString(presentationData: (PresentationTheme,
|
|||||||
let titleString = strings.Notification_VoiceChatEnded(callDurationString(strings: strings, value: duration)).0
|
let titleString = strings.Notification_VoiceChatEnded(callDurationString(strings: strings, value: duration)).0
|
||||||
attributedString = NSAttributedString(string: titleString, font: titleFont, textColor: primaryTextColor)
|
attributedString = NSAttributedString(string: titleString, font: titleFont, textColor: primaryTextColor)
|
||||||
} else {
|
} else {
|
||||||
var attributePeerIds: [(Int, PeerId?)] = [(0, message.author?.id)]
|
let attributePeerIds: [(Int, PeerId?)] = [(0, message.author?.id)]
|
||||||
let titleString = strings.Notification_VoiceChatStarted(authorName)
|
let titleString = strings.Notification_VoiceChatStarted(authorName)
|
||||||
attributedString = addAttributesToStringWithRanges(titleString, body: bodyAttributes, argumentAttributes: peerMentionsAttributes(primaryTextColor: primaryTextColor, peerIds: attributePeerIds))
|
attributedString = addAttributesToStringWithRanges(titleString, body: bodyAttributes, argumentAttributes: peerMentionsAttributes(primaryTextColor: primaryTextColor, peerIds: attributePeerIds))
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user