import SwiftUI struct HomeTab: View { @State private var posts: [Post] = [] @State private var isLoading = true @State private var isRefreshing = false var onScroll: ((CGPoint) -> Void)? var body: some View { VStack { if isLoading { ProgressView("Загрузка ленты...") } else { RefreshableScrollView( isRefreshing: $isRefreshing, onRefresh: { fetchData() }, onScroll: onScroll ) { LazyVStack(spacing: 24) { ForEach(posts) { post in PostDetailView(post: post) } } } } } .onAppear { if posts.isEmpty { fetchData(isInitialLoad: true) } } } // private func fetchData(isInitialLoad: Bool = false) { // if isInitialLoad { // isLoading = true // } else { // isRefreshing = true // } // // PostService.shared.fetchAllPosts { fetchedPosts in // self.posts = fetchedPosts // // if isInitialLoad { // print("content updated") // self.isLoading = false // } // self.isRefreshing = false // } // } private func fetchData(isInitialLoad: Bool = false) { if isInitialLoad { isLoading = true } else { isRefreshing = true } // Временный код вместо PostService self.posts = [] // или сюда можно подставить мок-данные // Сбрасываем индикаторы загрузки if isInitialLoad { self.isLoading = false } self.isRefreshing = false } }