diff --git a/Frameworks/Account/FeedProvider/Reddit/RedditLink.swift b/Frameworks/Account/FeedProvider/Reddit/RedditLink.swift index 847c0a78e..73bf3b159 100644 --- a/Frameworks/Account/FeedProvider/Reddit/RedditLink.swift +++ b/Frameworks/Account/FeedProvider/Reddit/RedditLink.swift @@ -73,10 +73,11 @@ struct RedditLinkData: Codable { return mediaEmbedContent } - if isVideo ?? false { - guard let fallbackURL = media?.video?.fallbackURL else { - return nil - } + if url.hasSuffix(".gif") { + return "
" + } + + if isVideo ?? false, let videoURL = media?.video?.fallbackURL { var html = "" + html += "src=\"\(videoURL)\">" + return html + } + + if let videoPreviewURL = preview?.videoPreview?.url { + var html = "" return html } diff --git a/Frameworks/Account/FeedProvider/Reddit/RedditPreview.swift b/Frameworks/Account/FeedProvider/Reddit/RedditPreview.swift index 93e90f3a0..567faeddf 100644 --- a/Frameworks/Account/FeedProvider/Reddit/RedditPreview.swift +++ b/Frameworks/Account/FeedProvider/Reddit/RedditPreview.swift @@ -11,9 +11,11 @@ import Foundation struct RedditPreview: Codable { let images: [RedditPreviewImage]? + let videoPreview: RedditVideoPreview? enum CodingKeys: String, CodingKey { case images = "images" + case videoPreview = "reddit_video_preview" } } @@ -41,3 +43,17 @@ struct RedditPreviewImageSource: Codable { } } + +struct RedditVideoPreview: Codable { + + let url: String? + let width: Int? + let height: Int? + + enum CodingKeys: String, CodingKey { + case url = "fallback_url" + case width = "width" + case height = "height" + } + +}