/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import IGListKit import UIKit final class HorizontalSectionController: ListSectionController, ListAdapterDataSource { private var number: Int? lazy var adapter: ListAdapter = { let adapter = ListAdapter(updater: ListAdapterUpdater(), viewController: self.viewController) adapter.dataSource = self return adapter }() override func sizeForItem(at index: Int) -> CGSize { return CGSize(width: collectionContext!.containerSize.width, height: 100) } override func cellForItem(at index: Int) -> UICollectionViewCell { let cell: EmbeddedCollectionViewCell = collectionContext.dequeueReusableCell(for: self, at: index) adapter.collectionView = cell.collectionView return cell } override func didUpdate(to object: Any) { number = object as? Int } // MARK: ListAdapterDataSource func objects(for listAdapter: ListAdapter) -> [ListDiffable] { guard let number = number else { return [] } return (0.. ListSectionController { return EmbeddedSectionController() } func emptyView(for listAdapter: ListAdapter) -> UIView? { return nil } }