From 6c698c5b942a71b46eaa86622c230bae04575ac2 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Tue, 5 May 2020 21:08:51 -0500 Subject: [PATCH] Use video preview if available --- .../FeedProvider/Reddit/RedditLink.swift | 23 +++++++++++++++---- .../FeedProvider/Reddit/RedditPreview.swift | 16 +++++++++++++ 2 files changed, 34 insertions(+), 5 deletions(-) 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" + } + +}