From 14e555808d6579ae0616c79a63f9b7b553ab962b Mon Sep 17 00:00:00 2001 From: JH713 Date: Thu, 4 Apr 2024 00:52:54 +0900 Subject: [PATCH] feat: set favorite preload --- iBox/Sources/AppDelegate.swift | 8 +++++--- iBox/Sources/Favorite/FavoriteView.swift | 19 ++++++++++++++++++- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/iBox/Sources/AppDelegate.swift b/iBox/Sources/AppDelegate.swift index 77ca7d3..8ba7e6f 100644 --- a/iBox/Sources/AppDelegate.swift +++ b/iBox/Sources/AppDelegate.swift @@ -13,9 +13,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate { let versioningHandler: VersioningHandler = VersioningHandler() func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - - Task { [weak self] in - self?.preloadFavoriteWeb() + + if UserDefaultsManager.isPreload { + Task { [weak self] in + self?.preloadFavoriteWeb() + } } versioningHandler.checkAppVersion { result in diff --git a/iBox/Sources/Favorite/FavoriteView.swift b/iBox/Sources/Favorite/FavoriteView.swift index ff76348..5d32708 100644 --- a/iBox/Sources/Favorite/FavoriteView.swift +++ b/iBox/Sources/Favorite/FavoriteView.swift @@ -12,7 +12,12 @@ import SnapKit class FavoriteView: UIView { - private lazy var webView = WebViewPreloader.shared.getFavoriteView() + private lazy var webView = { + if WebViewPreloader.shared.getFavoriteView() == nil { + loadFavoriteWeb() + } + return WebViewPreloader.shared.getFavoriteView() + }() private let refreshControl = UIRefreshControl() @@ -58,4 +63,16 @@ class FavoriteView: UIView { } } + private func loadFavoriteWeb() { + let favoriteId = UserDefaultsManager.favoriteId + var favoriteUrl: URL? = nil + if let favoriteId { + favoriteUrl = CoreDataManager.shared.getBookmarkUrl(favoriteId) + if favoriteUrl == nil { + UserDefaultsManager.favoriteId = nil + } + } + WebViewPreloader.shared.preloadFavoriteView(url: favoriteUrl) + } + }