mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-10-09 03:20:48 +00:00
Cherry-pick story-related fixes
This commit is contained in:
parent
094527347e
commit
4e2c082e0c
@ -1676,6 +1676,7 @@ private final class StoryContainerScreenComponent: Component {
|
||||
for (id, itemSetView) in self.visibleItemSetViews {
|
||||
if !validIds.contains(id) {
|
||||
removedIds.append(id)
|
||||
itemSetView.view.parentState = nil
|
||||
itemSetView.removeFromSuperview()
|
||||
|
||||
if let view = itemSetView.view.view as? StoryItemSetContainerComponent.View {
|
||||
|
@ -2243,6 +2243,17 @@ public final class StoryItemSetContainerComponent: Component {
|
||||
if !likeButtonView.isDescendant(of: self) {
|
||||
return
|
||||
}
|
||||
if likeButtonView.isHidden {
|
||||
return
|
||||
}
|
||||
if likeButtonView.alpha == 0.0 {
|
||||
return
|
||||
}
|
||||
if component.slice.peer.isService {
|
||||
return
|
||||
} else if case .unsupported = component.slice.item.storyItem.media {
|
||||
return
|
||||
}
|
||||
|
||||
let tooltipScreen = TooltipScreen(
|
||||
account: component.context.account,
|
||||
@ -3700,7 +3711,7 @@ public final class StoryItemSetContainerComponent: Component {
|
||||
strings: component.strings,
|
||||
theme: component.theme,
|
||||
text: component.slice.item.storyItem.text,
|
||||
entities: component.slice.item.storyItem.entities,
|
||||
entities: component.slice.peer.isPremium ? component.slice.item.storyItem.entities : [],
|
||||
entityFiles: component.slice.item.entityFiles,
|
||||
action: { [weak self] action in
|
||||
guard let self, let component = self.component else {
|
||||
|
@ -272,6 +272,10 @@ final class StoryItemSetViewListComponent: Component {
|
||||
|
||||
var eventCycleState: EventCycleState?
|
||||
|
||||
var totalCount: Int? {
|
||||
return self.viewListState?.totalCount
|
||||
}
|
||||
|
||||
var hasContent: Bool = false
|
||||
var hasContentUpdated: ((Bool) -> Void)?
|
||||
|
||||
@ -1361,12 +1365,22 @@ final class StoryItemSetViewListComponent: Component {
|
||||
if !component.hasPremium, component.storyItem.expirationTimestamp <= Int32(Date().timeIntervalSince1970) {
|
||||
} else {
|
||||
if let views = component.storyItem.views, views.hasList {
|
||||
if views.seenCount >= 20 || component.context.sharedContext.immediateExperimentalUISettings.storiesExperiment {
|
||||
displayModeSelector = true
|
||||
displaySearchBar = true
|
||||
}
|
||||
if views.reactedCount >= 10 || component.context.sharedContext.immediateExperimentalUISettings.storiesExperiment {
|
||||
displaySortSelector = true
|
||||
if let currentContentView = self.currentContentView, let totalCount = currentContentView.totalCount {
|
||||
if totalCount >= 20 || component.context.sharedContext.immediateExperimentalUISettings.storiesExperiment {
|
||||
displayModeSelector = true
|
||||
displaySearchBar = true
|
||||
}
|
||||
if (views.reactedCount >= 10 && totalCount >= 20) || component.context.sharedContext.immediateExperimentalUISettings.storiesExperiment {
|
||||
displaySortSelector = true
|
||||
}
|
||||
} else {
|
||||
if views.seenCount >= 20 || component.context.sharedContext.immediateExperimentalUISettings.storiesExperiment {
|
||||
displayModeSelector = true
|
||||
displaySearchBar = true
|
||||
}
|
||||
if (views.reactedCount >= 10 && views.seenCount >= 20) || component.context.sharedContext.immediateExperimentalUISettings.storiesExperiment {
|
||||
displaySortSelector = true
|
||||
}
|
||||
}
|
||||
}
|
||||
if let privacy = component.storyItem.privacy, case .everyone = privacy.base {
|
||||
|
Loading…
x
Reference in New Issue
Block a user