diff --git a/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboard.swift b/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboard.swift index 2185d47d6e..ed42e4b1cd 100644 --- a/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboard.swift +++ b/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboard.swift @@ -285,7 +285,7 @@ public final class EntityKeyboardComponent: Component { contentTopPanels.append(AnyComponentWithIdentity(id: "gifs", component: AnyComponent(EntityKeyboardTopPanelComponent( theme: component.theme, items: topGifItems, - defaultActiveItemId: defaultActiveGifItemId, + forceActiveItemId: defaultActiveGifItemId, activeContentItemIdUpdated: gifsContentItemIdUpdated, reorderItems: { _ in } diff --git a/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboardTopPanelComponent.swift b/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboardTopPanelComponent.swift index 868da96462..c57454cb43 100644 --- a/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboardTopPanelComponent.swift +++ b/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboardTopPanelComponent.swift @@ -996,6 +996,7 @@ final class EntityKeyboardTopPanelComponent: Component { let theme: PresentationTheme let items: [Item] let defaultActiveItemId: AnyHashable? + let forceActiveItemId: AnyHashable? let activeContentItemIdUpdated: ActionSlot<(AnyHashable, AnyHashable?, Transition)> let reorderItems: ([Item]) -> Void @@ -1003,12 +1004,14 @@ final class EntityKeyboardTopPanelComponent: Component { theme: PresentationTheme, items: [Item], defaultActiveItemId: AnyHashable? = nil, + forceActiveItemId: AnyHashable? = nil, activeContentItemIdUpdated: ActionSlot<(AnyHashable, AnyHashable?, Transition)>, reorderItems: @escaping ([Item]) -> Void ) { self.theme = theme self.items = items self.defaultActiveItemId = defaultActiveItemId + self.forceActiveItemId = forceActiveItemId self.activeContentItemIdUpdated = activeContentItemIdUpdated self.reorderItems = reorderItems } @@ -1023,6 +1026,9 @@ final class EntityKeyboardTopPanelComponent: Component { if lhs.defaultActiveItemId != rhs.defaultActiveItemId { return false } + if lhs.forceActiveItemId != rhs.forceActiveItemId { + return false + } if lhs.activeContentItemIdUpdated !== rhs.activeContentItemIdUpdated { return false } @@ -1594,7 +1600,9 @@ final class EntityKeyboardTopPanelComponent: Component { self.component = component self.state = state - if let defaultActiveItemId = component.defaultActiveItemId { + if let forceActiveItemId = component.forceActiveItemId { + self.activeContentItemId = forceActiveItemId + } else if self.activeContentItemId == nil, let defaultActiveItemId = component.defaultActiveItemId { self.activeContentItemId = defaultActiveItemId }