fix: call readComic when correct comic is loaded
This commit is contained in:
@@ -167,9 +167,9 @@ final class ViewController: UIViewController, UIGestureRecognizerDelegate {
|
||||
|
||||
homeView.translatesAutoresizingMaskIntoConstraints = false
|
||||
readerView.translatesAutoresizingMaskIntoConstraints = false
|
||||
readerView.isHidden = true
|
||||
readerView.isHidden = globalState.comicName == nil
|
||||
readerView.backgroundColor = .black
|
||||
homeView.isHidden = false
|
||||
homeView.isHidden = globalState.comicName != nil
|
||||
homeView.backgroundColor = convertStringToColor(settings.homeBackgroundColor)
|
||||
view.addSubview(homeView)
|
||||
view.addSubview(readerView)
|
||||
@@ -190,9 +190,6 @@ final class ViewController: UIViewController, UIGestureRecognizerDelegate {
|
||||
setupGestures()
|
||||
setupBar()
|
||||
setupHomeView()
|
||||
if let name = globalState.comicName {
|
||||
readComic(name: name)
|
||||
}
|
||||
}
|
||||
|
||||
func setupHomeView() {
|
||||
@@ -284,14 +281,18 @@ final class ViewController: UIViewController, UIGestureRecognizerDelegate {
|
||||
let metadataPath = dir.appendingPathComponent(metadataFilename)
|
||||
guard let data = try? Data(contentsOf: metadataPath)
|
||||
else {
|
||||
alert.message = String(format: "Failed to read contents of metadata: \(metadataPath))")
|
||||
DispatchQueue.main.async {
|
||||
alert.message = String(format: "Failed to read contents of metadata: \(metadataPath))")
|
||||
}
|
||||
pendingAlert = alert
|
||||
return
|
||||
}
|
||||
var byteBuffer = ByteBuffer(data: data)
|
||||
guard let metadata: Metadata = try? getCheckedRoot(byteBuffer: &byteBuffer) else {
|
||||
alert.message =
|
||||
String(format: "Failed to read contents of metadata flatbuffer file: \(metadataPath))")
|
||||
DispatchQueue.main.async {
|
||||
alert.message =
|
||||
String(format: "Failed to read contents of metadata flatbuffer file: \(metadataPath))")
|
||||
}
|
||||
pendingAlert = alert
|
||||
return
|
||||
}
|
||||
@@ -306,13 +307,17 @@ final class ViewController: UIViewController, UIGestureRecognizerDelegate {
|
||||
let a = try Archive(url: archivePath, accessMode: .read)
|
||||
archive = a
|
||||
} catch {
|
||||
alert.message = String(format: "Could not open Archive: \(archivePath)")
|
||||
DispatchQueue.main.async {
|
||||
alert.message = String(format: "Could not open Archive: \(archivePath)")
|
||||
}
|
||||
pendingAlert = alert
|
||||
return
|
||||
}
|
||||
let filename = metadata.volumes[volCovP.v].chapters[volCovP.c].images[volCovP.i].filename!
|
||||
guard let targetEntry = archive[filename] else {
|
||||
alert.message = String(format: "Archive entry does not exist: \(filename)")
|
||||
DispatchQueue.main.async {
|
||||
alert.message = String(format: "Archive entry does not exist: \(filename)")
|
||||
}
|
||||
pendingAlert = alert
|
||||
return
|
||||
}
|
||||
@@ -322,12 +327,16 @@ final class ViewController: UIViewController, UIGestureRecognizerDelegate {
|
||||
extractedData.append(data)
|
||||
}
|
||||
} catch {
|
||||
alert.message = String(format: "Failed to extract data from entry: \(targetEntry.path)")
|
||||
DispatchQueue.main.async {
|
||||
alert.message = String(format: "Failed to extract data from entry: \(targetEntry.path)")
|
||||
}
|
||||
pendingAlert = alert
|
||||
return
|
||||
}
|
||||
guard let coverImage = UIImage(data: extractedData) else {
|
||||
alert.message = String(format: "Cover image is nil: \(filename)")
|
||||
DispatchQueue.main.async {
|
||||
alert.message = String(format: "Cover image is nil: \(filename)")
|
||||
}
|
||||
pendingAlert = alert
|
||||
return
|
||||
}
|
||||
@@ -339,6 +348,9 @@ final class ViewController: UIViewController, UIGestureRecognizerDelegate {
|
||||
)
|
||||
)
|
||||
DispatchQueue.main.async {
|
||||
if metadata.title == self.globalState.comicName {
|
||||
self.readComic(name: metadata.title)
|
||||
}
|
||||
self.comicCollectionView.reloadData()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user