Create ArticleIconSchemeHandlerDelegate, so ArticleIconSchemeHandler doesn’t have to know about SceneCoordinator.

This commit is contained in:
Brent Simmons
2024-03-05 21:18:46 -08:00
parent 28ff23ee7b
commit ebddf37f47
2 changed files with 23 additions and 11 deletions

View File

@@ -39,7 +39,7 @@ class WebViewController: UIViewController {
private var isFullScreenAvailable: Bool {
return AppDefaults.shared.articleFullscreenAvailable && traitCollection.userInterfaceIdiom == .phone && coordinator.isRootSplitCollapsed
}
private lazy var articleIconSchemeHandler = ArticleIconSchemeHandler(coordinator: coordinator);
private lazy var articleIconSchemeHandler = ArticleIconSchemeHandler(delegate: self);
private lazy var transition = ImageTransition(controller: self)
private var clickedImageCompletion: (() -> Void)?
@@ -326,6 +326,16 @@ extension WebViewController: ArticleExtractorDelegate {
}
// MARK: ArticleIconSchemeHandlerDelegate
extension WebViewController: ArticleIconSchemeHandlerDelegate {
func iconImage(for articleID: String) -> IconImage? {
coordinator.articleFor(articleID)?.iconImage()
}
}
// MARK: UIContextMenuInteractionDelegate
extension WebViewController: UIContextMenuInteractionDelegate {