diff --git a/Pocket Poster/Controllers/PosterBoardManager.swift b/Pocket Poster/Controllers/PosterBoardManager.swift index 6170998..d4f3a63 100644 --- a/Pocket Poster/Controllers/PosterBoardManager.swift +++ b/Pocket Poster/Controllers/PosterBoardManager.swift @@ -43,6 +43,7 @@ struct LoadInfo: Identifiable, Equatable { } var id = UUID() + var autoReverses: Bool = false var loadState: LoadState } @@ -226,7 +227,7 @@ class PosterBoardManager: ObservableObject { switch video.loadState { case .loaded(let movie): do { - let newVideo = try VideoHandler.createCaml(from: movie.url, autoReverses: false) + let newVideo = try VideoHandler.createCaml(from: movie.url, autoReverses: video.autoReverses) extList["com.apple.WallpaperKit.CollectionsPoster"]?.append(newVideo) } catch { print(error.localizedDescription) diff --git a/Pocket Poster/Views/NavigatorViews/VideoView.swift b/Pocket Poster/Views/NavigatorViews/VideoView.swift index a0775fe..3a08c31 100644 --- a/Pocket Poster/Views/NavigatorViews/VideoView.swift +++ b/Pocket Poster/Views/NavigatorViews/VideoView.swift @@ -47,6 +47,23 @@ struct VideoView: View { DeleteButton(video: vid, onDelete: removeVideo), alignment: .topLeading ) + .overlay( + // Loops Button + Button(action: { + if let index = pbManager.videos.firstIndex(of: vid) { + pbManager.videos[index].autoReverses = !vid.autoReverses + } + }) { + Image(systemName: "arrow.left.arrow.right.circle") + .font(.title) + .foregroundStyle(.black) + .background { + Circle() + .foregroundStyle(vid.autoReverses ? .blue : .white) + } + }.offset(x: 8, y: -8), + alignment: .topTrailing + ) } .onDelete(perform: removeVideo)