137 lines
3.9 KiB
Swift
137 lines
3.9 KiB
Swift
|
import SwiftUI
|
||
|
|
||
|
struct ChatsCreateMainScreen: View {
|
||
|
@Binding var isPresented: Bool
|
||
|
|
||
|
var body: some View {
|
||
|
ZStack {
|
||
|
// Background color
|
||
|
Color.Material.Background.light
|
||
|
.ignoresSafeArea()
|
||
|
|
||
|
// Content
|
||
|
VStack(spacing: 0) {
|
||
|
// Header
|
||
|
SharedNavigationBar(
|
||
|
leftButton: .init(
|
||
|
image: Image(systemName: "xmark"),
|
||
|
action: {
|
||
|
isPresented = false
|
||
|
}
|
||
|
),
|
||
|
centerText: .init(text: L10n.Chats.Create.Main.title)
|
||
|
)
|
||
|
|
||
|
// List
|
||
|
List {
|
||
|
CreateRoomRowButton(
|
||
|
title: L10n.Chats.Create.Main.createGroup,
|
||
|
image: "person.2.square.stack",
|
||
|
action: {}
|
||
|
)
|
||
|
CreateRoomRowButton(
|
||
|
title: L10n.Chats.Create.Main.createPrivateGroup,
|
||
|
image: "person.2.square.stack",
|
||
|
action: {}
|
||
|
)
|
||
|
CreateRoomRowButton(
|
||
|
title: L10n.Chats.Create.Main.findGroup,
|
||
|
image: "person.2.square.stack",
|
||
|
action: {}
|
||
|
)
|
||
|
}
|
||
|
.listStyle(.plain)
|
||
|
|
||
|
Spacer()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private struct CreateRoomRowButton: View {
|
||
|
var title: String
|
||
|
var image: String
|
||
|
var action: () -> Void
|
||
|
|
||
|
var body: some View {
|
||
|
HStack(spacing: 16) {
|
||
|
Image(systemName: image)
|
||
|
.font(.head2)
|
||
|
.foregroundColor(.Material.Elements.active)
|
||
|
.padding(.leading, 16)
|
||
|
Text(title)
|
||
|
.font(.body1)
|
||
|
.foregroundColor(.Material.Text.main)
|
||
|
Spacer()
|
||
|
}
|
||
|
.sharedListRow()
|
||
|
.onTapGesture {
|
||
|
action()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// import SwiftUI
|
||
|
//
|
||
|
// struct CreateConversationMainScreen: View {
|
||
|
// @EnvironmentObject var store: AppStore
|
||
|
//
|
||
|
// var body: some View {
|
||
|
// ZStack {
|
||
|
// // Background color
|
||
|
// Color.Material.Background.light
|
||
|
// .ignoresSafeArea()
|
||
|
//
|
||
|
// // Content
|
||
|
// VStack(spacing: 0) {
|
||
|
// // Header
|
||
|
// CreateConversationHeader()
|
||
|
//
|
||
|
// // Chats list
|
||
|
// // if !store.state.chatsState.chats.isEmpty {
|
||
|
// // List {
|
||
|
// // ForEach(store.state.chatsState.chats) { chat in
|
||
|
// // ChatsRow(chat: chat)
|
||
|
// // }
|
||
|
// // }
|
||
|
// // .listStyle(.plain)
|
||
|
// // .background(Color.Material.Background.light)
|
||
|
// // } else {
|
||
|
// // Spacer()
|
||
|
// // }
|
||
|
// //
|
||
|
// // // Tab bar
|
||
|
// // SharedTabBar()
|
||
|
// }
|
||
|
// }
|
||
|
// }
|
||
|
// }
|
||
|
//
|
||
|
// private struct CreateConversationHeader: View {
|
||
|
// @EnvironmentObject var store: AppStore
|
||
|
//
|
||
|
// var body: some View {
|
||
|
// ZStack {
|
||
|
// // bg
|
||
|
// Color.Material.Background.dark
|
||
|
// .ignoresSafeArea()
|
||
|
//
|
||
|
// HStack(spacing: 0) {
|
||
|
// Image(systemName: "arrow.left")
|
||
|
// .foregroundColor(.Material.Elements.active)
|
||
|
// .padding(.leading, 16)
|
||
|
// .tappablePadding(.symmetric(12)) {
|
||
|
// store.dispatch(.changeFlow(store.state.previousFlow))
|
||
|
// }
|
||
|
// Spacer()
|
||
|
// }
|
||
|
//
|
||
|
// // title
|
||
|
// Text("New conversation")
|
||
|
// .font(.head2)
|
||
|
// .foregroundColor(Color.Material.Text.main)
|
||
|
// }
|
||
|
// }
|
||
|
// }
|
||
|
//
|