From 4922ddd6281fec5a677703c7d88f869a12f1a218 Mon Sep 17 00:00:00 2001 From: cranci1 <100066266+cranci1@users.noreply.github.com> Date: Mon, 30 Dec 2024 10:03:42 +0100 Subject: [PATCH] idk what i did lol --- .../UserInterfaceState.xcuserstate | Bin 96121 -> 100686 bytes Sora/Utils/Miru/MiruDataStruct.swift | 4 +- Sora/Views/LibraryViews/LibraryManager.swift | 5 +- Sora/Views/LibraryViews/LibraryView.swift | 7 ++- Sora/Views/MediaViews/MediaExtraction.swift | 1 + Sora/Views/MediaViews/MediaView.swift | 3 +- Sora/Views/SettingsViews/SettingView.swift | 48 ++++++++++++------ 7 files changed, 45 insertions(+), 23 deletions(-) diff --git a/Sora.xcodeproj/project.xcworkspace/xcuserdata/Francesco.xcuserdatad/UserInterfaceState.xcuserstate b/Sora.xcodeproj/project.xcworkspace/xcuserdata/Francesco.xcuserdatad/UserInterfaceState.xcuserstate index c41b39195455a3dd54cffd5ea064782e84dc1b39..5e46609526f2c71cb0e3b64fe4ba347903bc701a 100644 GIT binary patch literal 100686 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 literal 96121 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

_oh)h?7@S)e9R{>F-N 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

l@((zL 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

3jc#quo$bFC8_t=+vH*g#2cqPPrvfd}>{jcyf z==Z(>1wgL*xaG28^Pdq_>f~iB=5t?mt1SGy{D8F}WX;`|(S>0{ip$tq@OggX~WVf}BsjMJdqn6FPq4fJ&$XGCt`6_VWoHKcV9% zA?Slh^v6I9K{S|)Co?e{b3xxvSo@R3SPJIh$x5sS`Jem%I(eE89P?>g(7{vI_;d%@ zkEd^hc*dMRQ$Y96zJd<){Hz$r|BU?4n3HGa;DYL)|7UKf2X`oWa~tFUGxMCz zpVReovOX_~(kP1xU>2S`!U34t+5T9P{~AAzrA!8ecSmKSp9an3WgI%8NMA z`HN*p1o>Z(|HV3Nz%J}T8V-W~UmX2^HQjrVm30{h@b^8pJ(uO2vx`cApyhZQOS|AD zgv3yA5CZaoNHLm$q=M#1QYxC5cv-^;NF_@}4AT@F2}MAWL?bX#kx)z+)UZe!d^xxG zoI{_s3}qN{ zj>a0vp4;iDj^6gY@Jxbw=PxRHviEAFhK|BC)Ar!bh2jA9JqIEVAN8ogKKT$#%q z%tPOm1uSAI%g}FS6>HFEAP+QU48%xlk}|C+38vaXq- z_98N^y~bAlhB<0>P-_H1y#u}1^{VDx{$9uI7w5`;mS z0Sx3YKFdj*#@9KMkzBweCUY_0WeJb-ENfZEANdoTc$F<|V=r|Y#I%Ai%u}F~BK`Rs zM{*3u@nufr6i#I*qZrLtzR6q`u!wv4C4c4b>|{3|1YyGa3GXJnn>d~?F$nV}ypx!O z`4Z+!T*55wWFhx(AB*`F5Ap=d`906^25%DuVbW~LKJ-Jr$-_AUvnAC|s-09jsdn;g zzQH)gb1oB*adIltn2COp*D;$PGlw4LF`orI%H!xQ`6PNvuHZ%NCMlQXn`~zXyLgX( z@F5jy#I%DjH5`4V*N24$_OcAGOnJrqxWVnSKfLq?%;8pU$4z#4zr(v7J9wXF5N6Y4DbNe^W=C)i z=E~Y%)?H=YRrXRYV>;%`nlF0`cVWh?8M89aKEUsAPuVAVinXl6J!M~JBb#`Oci9_+ zxsVhc_$=h~lPl93`^fd>P!3}dCo`BKe2vpNgOQA440eYZVEr-X6&WV!#w7*fCpK|W5}-{yTUU(hYSnrSdY9q`(am|X6!U$=VYcZjmw$A zOlEN%v$=`6*jLdl78j#laRurW)hVh|RHtZHMY}4#!8W$D1N$oO!mLGiRI;nm2~1=T zW-6JbB)gJZD9O6C95qVbENx~Bui@>Iw@U9Jx6+50t@II98Z>DKVcA`jv#95PP=w`U zIF947xAGulU3L@Yp$uaYPM%2#kDZlnAPTQO_-E$p=GXuR8X5?^Hq za_f48W!O`fJ#}X}m_GDl05h@Y?pu&~_Z`Tqdmj;18o~d*Qi)H0_Wkt7|G$U5C;k_f CX>`y4 diff --git a/Sora/Utils/Miru/MiruDataStruct.swift b/Sora/Utils/Miru/MiruDataStruct.swift index 8b42d02..c50e75d 100644 --- a/Sora/Utils/Miru/MiruDataStruct.swift +++ b/Sora/Utils/Miru/MiruDataStruct.swift @@ -8,11 +8,11 @@ import Foundation struct MiruDataStruct: Codable { - let likes: [Like] + var likes: [Like] struct Like: Codable { let anilistID: Int - let gogoSlug: String + var gogoSlug: String let title: String let cover: String diff --git a/Sora/Views/LibraryViews/LibraryManager.swift b/Sora/Views/LibraryViews/LibraryManager.swift index 6952a00..4833d69 100644 --- a/Sora/Views/LibraryViews/LibraryManager.swift +++ b/Sora/Views/LibraryViews/LibraryManager.swift @@ -45,7 +45,7 @@ class LibraryManager: ObservableObject { Logger.shared.log("Removed from library: \(item.title)") } - func importFromMiruData(_ miruData: MiruDataStruct) { + func importFromMiruData(_ miruData: MiruDataStruct, module: ModuleStruct) { var newLibraryItems: [LibraryItem] = [] for like in miruData.likes { @@ -54,6 +54,7 @@ class LibraryManager: ObservableObject { title: like.title, image: like.cover, url: like.gogoSlug, + module: module, dateAdded: Date() ) newLibraryItems.append(libraryItem) @@ -61,7 +62,7 @@ class LibraryManager: ObservableObject { } DispatchQueue.main.async { - self.libraryItems = newLibraryItems + self.libraryItems.append(contentsOf: newLibraryItems) self.saveLibrary() Logger.shared.log("Completed importing \(newLibraryItems.count) items") } diff --git a/Sora/Views/LibraryViews/LibraryView.swift b/Sora/Views/LibraryViews/LibraryView.swift index fd45d2c..628d3d6 100644 --- a/Sora/Views/LibraryViews/LibraryView.swift +++ b/Sora/Views/LibraryViews/LibraryView.swift @@ -15,6 +15,7 @@ struct LibraryItem: Identifiable, Codable { let title: String let image: String let url: String + let module: ModuleStruct var dateAdded: Date } @@ -29,7 +30,9 @@ struct LibraryView: View { } else { LazyVGrid(columns: [GridItem(.adaptive(minimum: 150))], spacing: 20) { ForEach(libraryManager.libraryItems.sorted(by: { $0.dateAdded > $1.dateAdded })) { item in - itemView(item) + NavigationLink(destination: MediaView(module: item.module, item: ItemResult(name: item.title, imageUrl: item.image, href: item.url))) { + itemView(item) + } } } .padding() @@ -79,4 +82,4 @@ struct LibraryView: View { } } } -} +} \ No newline at end of file diff --git a/Sora/Views/MediaViews/MediaExtraction.swift b/Sora/Views/MediaViews/MediaExtraction.swift index 1aa6ac8..f72e187 100644 --- a/Sora/Views/MediaViews/MediaExtraction.swift +++ b/Sora/Views/MediaViews/MediaExtraction.swift @@ -12,6 +12,7 @@ extension MediaView { func fetchItemDetails() { guard let url = URL(string: item.href.hasPrefix("https") ? item.href : "\(module.module[0].details.baseURL.hasSuffix("/") ? module.module[0].details.baseURL : "\(module.module[0].details.baseURL)/")\(item.href.hasPrefix("/") ? String(item.href.dropFirst()) : item.href)") else { return } + print(url) URLSession.custom.dataTask(with: url) { data, response, error in defer { isLoading = false } guard let data = data, error == nil else { return } diff --git a/Sora/Views/MediaViews/MediaView.swift b/Sora/Views/MediaViews/MediaView.swift index d0a8e69..1aac813 100644 --- a/Sora/Views/MediaViews/MediaView.swift +++ b/Sora/Views/MediaViews/MediaView.swift @@ -186,6 +186,7 @@ struct MediaView: View { title: item.name, image: item.imageUrl, url: item.href, + module: module, dateAdded: Date() ) libraryManager.addToLibrary(libraryItem) @@ -267,7 +268,7 @@ struct MediaView: View { } private func openSafariViewController(with urlString: String) { - guard let url = URL(string: item.href.hasPrefix("http") ? item.href : "\(module.module[0].details.baseURL)\(item.href)") else { + guard let url = URL(string: item.href.hasPrefix("https") ? item.href : "\(module.module[0].details.baseURL.hasSuffix("/") ? module.module[0].details.baseURL : "\(module.module[0].details.baseURL)/")\(item.href.hasPrefix("/") ? String(item.href.dropFirst()) : item.href)") else { Logger.shared.log("Unable to open the webpage") return } diff --git a/Sora/Views/SettingsViews/SettingView.swift b/Sora/Views/SettingsViews/SettingView.swift index b7febe0..9405081 100644 --- a/Sora/Views/SettingsViews/SettingView.swift +++ b/Sora/Views/SettingsViews/SettingView.swift @@ -15,8 +15,11 @@ struct SettingsView: View { @State private var showImportSuccessAlert = false @State private var showImportFailAlert = false @State private var importErrorMessage = "" + @State private var miruDataToImport: MiruDataStruct? + @State private var selectedModule: ModuleStruct? @StateObject private var libraryManager = LibraryManager.shared - + @StateObject private var modulesManager = ModulesManager() + var body: some View { NavigationView { Form { @@ -52,12 +55,15 @@ struct SettingsView: View { Text("Storage") } } - Button(action: { - isDocumentPickerPresented = true - }) { - HStack { - Image(systemName: "tray.and.arrow.down.fill") - Text("Import Miru Bookmarks") + ForEach(modulesManager.modules.filter { $0.extractor == "dub-sub" }, id: \.name) { module in + Button(action: { + isDocumentPickerPresented = true + selectedModule = module + }) { + HStack { + Image(systemName: "tray.and.arrow.down.fill") + Text("Import Miru Bookmarks into \(module.name)") + } } } } @@ -122,8 +128,12 @@ struct SettingsView: View { .sheet(isPresented: $isDocumentPickerPresented) { DocumentPicker( libraryManager: libraryManager, - onSuccess: { - showImportSuccessAlert = true + onSuccess: { miruData in + miruDataToImport = miruData + if let selectedModule = selectedModule { + libraryManager.importFromMiruData(miruData, module: selectedModule) + showImportSuccessAlert = true + } }, onFailure: { errorMessage in importErrorMessage = errorMessage @@ -148,7 +158,7 @@ struct SettingsView: View { struct DocumentPicker: UIViewControllerRepresentable { var libraryManager: LibraryManager - var onSuccess: () -> Void + var onSuccess: (MiruDataStruct) -> Void var onFailure: (String) -> Void func makeCoordinator() -> Coordinator { @@ -166,10 +176,10 @@ struct DocumentPicker: UIViewControllerRepresentable { class Coordinator: NSObject, UIDocumentPickerDelegate { var parent: DocumentPicker var libraryManager: LibraryManager - var onSuccess: () -> Void + var onSuccess: (MiruDataStruct) -> Void var onFailure: (String) -> Void - init(_ parent: DocumentPicker, libraryManager: LibraryManager, onSuccess: @escaping () -> Void, onFailure: @escaping (String) -> Void) { + init(_ parent: DocumentPicker, libraryManager: LibraryManager, onSuccess: @escaping (MiruDataStruct) -> Void, onFailure: @escaping (String) -> Void) { self.parent = parent self.libraryManager = libraryManager self.onSuccess = onSuccess @@ -199,10 +209,16 @@ struct DocumentPicker: UIViewControllerRepresentable { do { let data = try Data(contentsOf: selectedFileURL) - let miruData = try JSONDecoder().decode(MiruDataStruct.self, from: data) - libraryManager.importFromMiruData(miruData) + var miruData = try JSONDecoder().decode(MiruDataStruct.self, from: data) + + miruData.likes = miruData.likes.map { like in + var updatedLike = like + updatedLike.gogoSlug = "/series/" + like.gogoSlug + return updatedLike + } + Logger.shared.log("Imported Miru data from \(selectedFileURL)") - onSuccess() + onSuccess(miruData) } catch { let errorMessage = "Failed to import Miru data: \(error.localizedDescription)" print(errorMessage) @@ -212,7 +228,7 @@ struct DocumentPicker: UIViewControllerRepresentable { } func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) { - let errorMessage = "Document picker was cancelled" + let errorMessage = "Document picker was closed" print(errorMessage) Logger.shared.log(errorMessage) onFailure(errorMessage)