wip
This commit is contained in:
parent
05b0b01ede
commit
0eeb8f7b75
|
@ -43,6 +43,11 @@
|
|||
"Chat.title" = "Chat";
|
||||
"Chat.textfieldPrompt" = "Type a message";
|
||||
|
||||
"Chats.Create.Main.title" = "Create";
|
||||
"Chats.Create.Main.createGroup" = "Create puplic group";
|
||||
"Chats.Create.Main.createPrivateGroup" = "Create private group";
|
||||
"Chats.Create.Main.findGroup" = "Find public group";
|
||||
|
||||
// MARK: Accounts add screen
|
||||
"Accounts.Add.or" = "or";
|
||||
"Accounts.Add.Exist.title" = "Add existing\naccount";
|
||||
|
|
|
@ -0,0 +1,136 @@
|
|||
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)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
|
@ -3,6 +3,8 @@ import SwiftUI
|
|||
struct ChatsListScreen: View {
|
||||
@EnvironmentObject var store: AppStore
|
||||
|
||||
@State private var isCretePanelPresented = false
|
||||
|
||||
var body: some View {
|
||||
ZStack {
|
||||
// Background color
|
||||
|
@ -17,7 +19,7 @@ struct ChatsListScreen: View {
|
|||
rightButton: .init(
|
||||
image: Image(systemName: "square.and.pencil"),
|
||||
action: {
|
||||
print("Create chat")
|
||||
isCretePanelPresented = true
|
||||
}
|
||||
)
|
||||
)
|
||||
|
@ -39,6 +41,9 @@ struct ChatsListScreen: View {
|
|||
SharedTabBar()
|
||||
}
|
||||
}
|
||||
.fullScreenCover(isPresented: $isCretePanelPresented) {
|
||||
ChatsCreateMainScreen(isPresented: $isCretePanelPresented)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,83 +0,0 @@
|
|||
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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private struct CreateRoomRowButton: View {
|
||||
var title: String
|
||||
var image: String
|
||||
var action: () -> Void
|
||||
|
||||
var body: some View {
|
||||
HStack(spacing: 16) {
|
||||
Image(systemName: image)
|
||||
.foregroundColor(.Material.Elements.active)
|
||||
Text(title)
|
||||
.font(.body)
|
||||
.foregroundColor(.Material.Text.main)
|
||||
Spacer()
|
||||
}
|
||||
.sharedListRow()
|
||||
.onTapGesture {
|
||||
action()
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue