// // ReportSection.swift // Mastodon // // Created by ihugo on 2021/4/20. // import Combine import CoreData import CoreDataStack import Foundation import MastodonSDK import UIKit import AVKit import os.log import MastodonAsset import MastodonLocalization enum ReportSection: Equatable, Hashable { case main } extension ReportSection { static func tableViewDiffableDataSource( for tableView: UITableView, dependency: ReportViewController, managedObjectContext: NSManagedObjectContext, timestampUpdatePublisher: AnyPublisher ) -> UITableViewDiffableDataSource { UITableViewDiffableDataSource(tableView: tableView) {[ weak dependency ] tableView, indexPath, item -> UITableViewCell? in return UITableViewCell() guard let dependency = dependency else { return UITableViewCell() } // switch item { // case .reportStatus(let objectID, let attribute): // let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: ReportedStatusTableViewCell.self), for: indexPath) as! ReportedStatusTableViewCell // cell.dependency = dependency // let activeMastodonAuthenticationBox = dependency.context.authenticationService.activeMastodonAuthenticationBox.value // let requestUserID = activeMastodonAuthenticationBox?.userID ?? "" // managedObjectContext.performAndWait { [weak dependency] in // guard let dependency = dependency else { return } // let status = managedObjectContext.object(with: objectID) as! Status // StatusSection.configure( // cell: cell, // tableView: tableView, // timelineContext: .report, // dependency: dependency, // readableLayoutFrame: tableView.readableContentGuide.layoutFrame, // status: status, // requestUserID: requestUserID, // statusItemAttribute: attribute // ) // } // // // defalut to select the report status // if attribute.isSelected { // tableView.selectRow(at: indexPath, animated: false, scrollPosition: .none) // } else { // tableView.deselectRow(at: indexPath, animated: false) // } // // return cell // default: // return nil // } } } }