Compare commits
2 Commits
32dd59e635
...
0cd38f3922
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0cd38f3922 | ||
|
|
8630910c94 |
@ -14,6 +14,7 @@ struct RefreshableScrollView<Content: View>: UIViewRepresentable {
|
||||
|
||||
func makeUIView(context: Context) -> UIScrollView {
|
||||
let scrollView = UIScrollView()
|
||||
scrollView.delaysContentTouches = false
|
||||
|
||||
let refreshControl = UIRefreshControl()
|
||||
refreshControl.addTarget(context.coordinator, action: #selector(Coordinator.handleRefresh), for: .valueChanged)
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
//
|
||||
// Created by cheykrym on 09/06/2025.
|
||||
//
|
||||
// НЕ ИСПОЛЬЗУЕТСЯ
|
||||
|
||||
import SwiftUI
|
||||
|
||||
|
||||
@ -22,7 +22,10 @@ struct HomeTab: View {
|
||||
}
|
||||
}
|
||||
}
|
||||
.navigationTitle("Лента")
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
.toolbar {
|
||||
ToolbarItem(placement: .principal) {}
|
||||
}
|
||||
.onAppear {
|
||||
if posts.isEmpty {
|
||||
fetchData(isInitialLoad: true)
|
||||
@ -35,6 +38,8 @@ struct HomeTab: View {
|
||||
private func fetchData(isInitialLoad: Bool = false) {
|
||||
if isInitialLoad {
|
||||
isLoading = true
|
||||
} else {
|
||||
isRefreshing = true
|
||||
}
|
||||
|
||||
PostService.shared.fetchAllPosts { fetchedPosts in
|
||||
|
||||
@ -22,13 +22,19 @@ struct ProfileTab: View {
|
||||
|
||||
@State private var selectedPostData: (Post, [Post])?
|
||||
|
||||
@State private var isShowingFollowers = false
|
||||
@State private var isShowingFollowing = false
|
||||
|
||||
var body: some View {
|
||||
NavigationView {
|
||||
if !isContentLoaded {
|
||||
SplashScreenView()
|
||||
} else {
|
||||
VStack(spacing: 0) {
|
||||
// Скрытый NavigationLink для программного перехода
|
||||
// Скрытые NavigationLink для программного перехода
|
||||
NavigationLink(destination: FollowersView(followers: followers), isActive: $isShowingFollowers) { EmptyView() }
|
||||
NavigationLink(destination: FollowingView(following: following), isActive: $isShowingFollowing) { EmptyView() }
|
||||
|
||||
if let (post, posts) = selectedPostData {
|
||||
NavigationLink(
|
||||
destination: PostFeedView(posts: posts, selectedPostID: post.id),
|
||||
@ -43,9 +49,9 @@ struct ProfileTab: View {
|
||||
RefreshableScrollView(isRefreshing: $isRefreshing, onRefresh: {
|
||||
fetchData()
|
||||
}) {
|
||||
VStack(spacing: 0) {
|
||||
VStack(spacing: 12) {
|
||||
header
|
||||
.frame(minHeight: 300)
|
||||
// .frame(minHeight: 300)
|
||||
.frame(maxWidth: .infinity)
|
||||
.background(Color(.systemBackground))
|
||||
|
||||
@ -65,7 +71,7 @@ struct ProfileTab: View {
|
||||
ToolbarItem(placement: .principal) {
|
||||
Button(action: { sheetType = .accountShare }) {
|
||||
HStack(spacing: 4) {
|
||||
Text("custom_user_name")
|
||||
Text(selectedAccount)
|
||||
.font(.headline)
|
||||
.foregroundColor(.primary)
|
||||
Image(systemName: "chevron.down")
|
||||
@ -131,7 +137,7 @@ struct ProfileTab: View {
|
||||
.frame(width: 72, height: 72)
|
||||
.foregroundColor(.gray)
|
||||
|
||||
Text(selectedAccount)
|
||||
Text("custom_user_name")
|
||||
.font(.headline)
|
||||
}
|
||||
.padding(.top, 16)
|
||||
@ -145,10 +151,10 @@ struct ProfileTab: View {
|
||||
// Статистика
|
||||
HStack(spacing: 32) {
|
||||
statView("24", "Посты")
|
||||
NavigationLink(destination: FollowersView(followers: followers)) {
|
||||
Button(action: { isShowingFollowers = true }) {
|
||||
statView("1.2k", "Подписчики")
|
||||
}
|
||||
NavigationLink(destination: FollowingView(following: following)) {
|
||||
Button(action: { isShowingFollowing = true }) {
|
||||
statView("156", "Подписки")
|
||||
}
|
||||
}
|
||||
@ -164,5 +170,6 @@ struct ProfileTab: View {
|
||||
Text(label)
|
||||
.font(.caption)
|
||||
}
|
||||
.foregroundColor(.primary)
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,5 @@
|
||||
// НЕ ИСПОЛЬЗУЕТСЯ
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct PublicsTab: View {
|
||||
|
||||
@ -250,13 +250,14 @@
|
||||
1AEE5EA92E21A4FC00A3DCA3 /* Tab */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1AEE5ECC2E21C9D100A3DCA3 /* Profile */,
|
||||
1A7940C52DF7A98E002569DA /* ContactsTab.swift */,
|
||||
1A7940C92DF7A99B002569DA /* ChatsTab.swift */,
|
||||
1A7940B52DF77F21002569DA /* MainView.swift */,
|
||||
1AEE5EAA2E21A83200A3DCA3 /* HomeTab.swift */,
|
||||
1AEE5EAE2E21A84500A3DCA3 /* PublicsTab.swift */,
|
||||
1AEE5EB22E21A85800A3DCA3 /* SearchTab.swift */,
|
||||
1A7940C92DF7A99B002569DA /* ChatsTab.swift */,
|
||||
1A7940CD2DF7A9AA002569DA /* ProfileTab.swift */,
|
||||
1AEE5ECC2E21C9D100A3DCA3 /* Profile */,
|
||||
1A7940C52DF7A98E002569DA /* ContactsTab.swift */,
|
||||
1AEE5EAE2E21A84500A3DCA3 /* PublicsTab.swift */,
|
||||
);
|
||||
path = Tab;
|
||||
sourceTree = "<group>";
|
||||
@ -266,7 +267,6 @@
|
||||
children = (
|
||||
1AD757CC2E27608C0069C1FD /* PostFeedView.swift */,
|
||||
1ACE60FF2E22F54700B37AC5 /* Settings */,
|
||||
1A7940CD2DF7A9AA002569DA /* ProfileTab.swift */,
|
||||
1AB4F8CC2E22E341002B6E40 /* AccountShareSheet.swift */,
|
||||
1AE587242E23337000254F06 /* ProfileContentGrid.swift */,
|
||||
1ACE61202E22FFD000B37AC5 /* ProfileContentTabbedGrid.swift */,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user