import SwiftUI struct CustomTabBar: View { @Binding var selectedTab: Int var onCreate: () -> Void var body: some View { HStack { // Tab 1: Feed TabBarButton(systemName: "list.bullet.rectangle", text: NSLocalizedString("Лента", comment: ""), isSelected: selectedTab == 0) { selectedTab = 0 } // Tab 2: Search TabBarButton(systemName: "lightbulb", text: NSLocalizedString("Идеи", comment: ""), isSelected: selectedTab == 1) { selectedTab = 1 } // Create Button CreateButton { onCreate() } // Tab 3: Chats TabBarButton(systemName: "bubble.left.and.bubble.right.fill", text: NSLocalizedString("Чаты", comment: ""), isSelected: selectedTab == 2) { selectedTab = 2 } // Tab 4: Profile TabBarButton(systemName: "person.crop.square", text: NSLocalizedString("Лицо", comment: ""), isSelected: selectedTab == 3) { selectedTab = 3 } } .padding(.horizontal) .padding(.top, 1) .padding(.bottom, 30) // Добавляем отступ снизу // .background(Color(.systemGray6)) } } struct TabBarButton: View { let systemName: String let text: String let isSelected: Bool let action: () -> Void var body: some View { Button(action: action) { VStack(spacing: 4) { Image(systemName: systemName) .font(.system(size: 22)) Text(text) // .font(.caption) .font(.system(size: 12)) } .foregroundColor(isSelected ? .accentColor : .gray) } .frame(maxWidth: .infinity) } } struct CreateButton: View { let action: () -> Void var body: some View { Button(action: action) { Image(systemName: "plus") .font(.system(size: 24, weight: .bold)) .foregroundColor(.white) .padding(16) // .background(Color.accentColor) .background( LinearGradient( gradient: Gradient(colors: [.blue, Color(red: 0.0, green: 0.0, blue: 0.545) ]), startPoint: .top, endPoint: .bottom ) ) .clipShape(Circle()) .shadow(radius: 4) } .offset(y: -3) } }