chore: set image url fallback

This commit is contained in:
CMK 2021-05-06 14:41:48 +08:00
parent 277d574254
commit 597fc3fa1a
2 changed files with 10 additions and 2 deletions

View File

@ -58,10 +58,18 @@ extension MastodonUser {
return URL(string: header)
}
public func headerImageURLWithFallback(domain: String) -> URL {
return URL(string: header) ?? URL(string: "https://\(domain)/headers/original/missing.png")!
}
public func avatarImageURL() -> URL? {
return URL(string: avatar)
}
public func avatarImageURLWithFallback(domain: String) -> URL {
return URL(string: avatar) ?? URL(string: "https://\(domain)/avatars/original/missing.png")!
}
}
extension MastodonUser {

View File

@ -59,7 +59,7 @@ final class MediaPreviewViewModel: NSObject {
let managedObjectContext = self.context.managedObjectContext
managedObjectContext.performAndWait {
let account = managedObjectContext.object(with: meta.accountObjectID) as! MastodonUser
let avatarURL = account.headerImageURL() ?? URL(string: "https://example.com")! // assert URL exist
let avatarURL = account.headerImageURLWithFallback(domain: account.domain)
let meta = MediaPreviewImageViewModel.RemoteImagePreviewMeta(url: avatarURL, thumbnail: meta.preloadThumbnailImage)
let mediaPreviewImageModel = MediaPreviewImageViewModel(meta: meta)
let mediaPreviewImageViewController = MediaPreviewImageViewController()
@ -79,7 +79,7 @@ final class MediaPreviewViewModel: NSObject {
let managedObjectContext = self.context.managedObjectContext
managedObjectContext.performAndWait {
let account = managedObjectContext.object(with: meta.accountObjectID) as! MastodonUser
let avatarURL = account.avatarImageURL() ?? URL(string: "https://example.com")! // assert URL exist
let avatarURL = account.avatarImageURLWithFallback(domain: account.domain)
let meta = MediaPreviewImageViewModel.RemoteImagePreviewMeta(url: avatarURL, thumbnail: meta.preloadThumbnailImage)
let mediaPreviewImageModel = MediaPreviewImageViewModel(meta: meta)
let mediaPreviewImageViewController = MediaPreviewImageViewController()