```import SwiftUI import Combine struct VideoList: View {     @ObservedObject private(set) var viewModel: ViewModel     @State private var isRefreshing = false          var body: some View {         NavigationView {             List(viewModel.videos.sorted { $0.id > $1.id}, id: \.id) { video in                 NavigationLink(                 destination: VideoDetails(viewModel: VideoDetails.ViewModel(video: video))) {                     VideoRow(video: video)                 }             }             .onPullToRefresh(isRefreshing: $isRefreshing, perform: {                 self.viewModel.fetchVideos()             })             .onReceive(viewModel.$videos, perform: { _ in                 self.isRefreshing = false             })             .navigationBarTitle(viewModel.navigationBarTitle)         }         .onAppear(perform: viewModel.fetchVideos)     } } #if DEBUG struct VideoList_Previews: PreviewProvider {     static var previews: some View {         NavigationView {             VideoList(viewModel: .init())         }     } } #endif ```