mirror of
https://github.com/yattee/yattee.git
synced 2025-08-09 20:24:06 +00:00
Add CachedAsyncImage
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import CachedAsyncImage
|
||||
import Foundation
|
||||
import SDWebImageSwiftUI
|
||||
import SwiftUI
|
||||
@@ -32,7 +33,7 @@ struct ChapterView: View {
|
||||
|
||||
@ViewBuilder func smallImage(_ chapter: Chapter) -> some View {
|
||||
if #available(iOS 15, macOS 12, *) {
|
||||
AsyncImage(url: chapter.image) { image in
|
||||
CachedAsyncImage(url: chapter.image) { image in
|
||||
image
|
||||
.resizable()
|
||||
} placeholder: {
|
||||
|
@@ -1,3 +1,4 @@
|
||||
import CachedAsyncImage
|
||||
import Defaults
|
||||
import Foundation
|
||||
import SDWebImageSwiftUI
|
||||
@@ -219,7 +220,7 @@ struct PlayerControls: View {
|
||||
let url = thumbnails.best(video)
|
||||
{
|
||||
if #available(iOS 15, macOS 12, *) {
|
||||
AsyncImage(url: url) { image in
|
||||
CachedAsyncImage(url: url) { image in
|
||||
image
|
||||
.resizable()
|
||||
} placeholder: {
|
||||
|
@@ -1,3 +1,4 @@
|
||||
import CachedAsyncImage
|
||||
import CoreMedia
|
||||
import Foundation
|
||||
import SDWebImageSwiftUI
|
||||
@@ -73,7 +74,7 @@ struct VideoBanner: View {
|
||||
@ViewBuilder private var smallThumbnail: some View {
|
||||
let url = video?.thumbnailURL(quality: .medium)
|
||||
if #available(iOS 15, macOS 12, *) {
|
||||
AsyncImage(url: url) { image in
|
||||
CachedAsyncImage(url: url) { image in
|
||||
image
|
||||
.resizable()
|
||||
} placeholder: {
|
||||
|
@@ -1,3 +1,4 @@
|
||||
import CachedAsyncImage
|
||||
import CoreMedia
|
||||
import Defaults
|
||||
import SDWebImageSwiftUI
|
||||
@@ -422,7 +423,7 @@ struct VideoCell: View {
|
||||
Group {
|
||||
let url = thumbnails.best(video)
|
||||
if #available(iOS 15, macOS 12, *) {
|
||||
AsyncImage(url: url) { image in
|
||||
CachedAsyncImage(url: url) { image in
|
||||
image
|
||||
.resizable()
|
||||
} placeholder: {
|
||||
|
@@ -1,3 +1,4 @@
|
||||
import CachedAsyncImage
|
||||
import Foundation
|
||||
import SDWebImageSwiftUI
|
||||
import SwiftUI
|
||||
@@ -38,7 +39,7 @@ struct ChannelCell: View {
|
||||
}
|
||||
.foregroundColor(.secondary)
|
||||
if #available(iOS 15, macOS 12, *) {
|
||||
AsyncImage(url: channel.thumbnailURL) { image in
|
||||
CachedAsyncImage(url: channel.thumbnailURL) { image in
|
||||
image
|
||||
.resizable()
|
||||
} placeholder: {
|
||||
|
@@ -1,3 +1,4 @@
|
||||
import CachedAsyncImage
|
||||
import SDWebImageSwiftUI
|
||||
import SwiftUI
|
||||
|
||||
@@ -38,7 +39,7 @@ struct ChannelPlaylistCell: View {
|
||||
.foregroundColor(.secondary)
|
||||
|
||||
if #available(iOS 15, macOS 12, *) {
|
||||
AsyncImage(url: playlist.thumbnailURL) { image in
|
||||
CachedAsyncImage(url: playlist.thumbnailURL) { image in
|
||||
image
|
||||
.resizable()
|
||||
} placeholder: {
|
||||
|
@@ -1,3 +1,4 @@
|
||||
import CachedAsyncImage
|
||||
import Defaults
|
||||
import SDWebImageSwiftUI
|
||||
import SwiftUI
|
||||
@@ -268,7 +269,7 @@ struct ControlsBar: View {
|
||||
Group {
|
||||
if let video = model.currentItem?.video, let url = video.channel.thumbnailURL {
|
||||
if #available(iOS 15, macOS 12, *) {
|
||||
AsyncImage(url: url) { image in
|
||||
CachedAsyncImage(url: url) { image in
|
||||
image
|
||||
.resizable()
|
||||
} placeholder: {
|
||||
|
Reference in New Issue
Block a user