fix: call readComic when correct comic is loaded

This commit is contained in:
2026-08-05 00:11:16 +02:00
parent 1890d5271c
commit 0e324fe855
+24 -12
View File
@@ -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()
}
}