Commit 40585846 authored by sugita mamoru's avatar sugita mamoru

実機で動かなかったのを修正

parent cc2e8395
......@@ -14,9 +14,16 @@ struct ChatView: View {
VStack{
if isEmargency{
LinearGradient(gradient: Gradient(colors: [.red, .black]), startPoint: .top, endPoint: .bottom)
.ignoresSafeArea()
}
}
VStack {
Text("Chat")
Button("Change Emargency"){
isEmargency.toggle()
}
}
Text("Chat")
}
}
}
......
......@@ -24,7 +24,6 @@ struct ContentView: View {
selectedTabModel.activeTab = .task
}, content: {
LoginView(isLogin: $isLogin)
.environmentObject(LoginViewParam())
})
}
......
......@@ -7,7 +7,7 @@
import SwiftUI
enum LoginViewMode{
enum LoginViewMode: String{
///QRを読み込むor ID/PW入力か選択する画面
case SelectType
/// ID/PW入力
......@@ -17,7 +17,6 @@ enum LoginViewMode{
}
class LoginViewParam: ObservableObject{
@Published var viewMode: LoginViewMode = .SelectType
@Published var shipId: String = ""
@Published var password: String = ""
@Published var userName: String = ""
......@@ -25,9 +24,10 @@ class LoginViewParam: ObservableObject{
struct LoginView: View {
@State var isQrRead: Bool = false
@State var viewMode: LoginViewMode = .SelectType
@Binding var isLogin: Bool
@ObservedObject var scannerViewModel = ScannerViewModel()
@EnvironmentObject var loginViewParam: LoginViewParam
@State var loginViewParam = LoginViewParam()
var body: some View {
ZStack{
......@@ -35,31 +35,27 @@ struct LoginView: View {
.fill(Color.red)
.ignoresSafeArea()
VStack{
Spacer()
.frame(height: 64)
//ロゴ
Image("logo_signin")
.resizable()
.scaledToFit()
.frame(width: 135, height: 66.85)
Spacer()
.frame(height: 20)
Image("h1_signin")
.frame(width: 250, height: 21.94)
VStack(spacing: 20){
Image("logo_signin")
.resizable()
.scaledToFit()
.frame(width: 135, height: 66.85)
Image("h1_signin")
.frame(width: 250, height: 21.94)
}
.padding(.top, 64)
Spacer()
// .frame(height: 60)
switch loginViewParam.viewMode{
switch viewMode{
case .SelectType:
LoginTypeSelectView(isQrRead: $isQrRead)
LoginTypeSelectView(isQrRead: $isQrRead, viewMode: $viewMode)
case .InputIdPassword:
InputIdPassWordView()
InputIdPassWordView(viewMode: $viewMode, param: $loginViewParam)
case .InputUserName:
InputUserNameView(isLogin: $isLogin)
InputUserNameView(isLogin: $isLogin, param: $loginViewParam)
}
Spacer()
......
......@@ -9,89 +9,87 @@ import SwiftUI
import Combine
struct InputIdPassWordView: View {
@EnvironmentObject var loginViewParam: LoginViewParam
@Binding var viewMode : LoginViewMode
@Binding var param : LoginViewParam
// @EnvironmentObject var loginViewParam = LoginViewParam()
let itemHPadding: Double = 16
let dialogBottomPadding: Double = 32
let textFieldHeight: Double = 49
let inputAreaHeight: Double = 150
let dialogHeight: CGFloat = 250
var body: some View {
HStack {
VStack{
VStack {
HStack{
Image("account")
.frame(width: 22, height: 22)
.padding(.horizontal, 8)
.accentColor(.white)
.foregroundColor(.white)
TextField(
"",
text: $loginViewParam.shipId,
prompt: Text("Ship ID")
.foregroundColor(.white)
)
.frame(height: textFieldHeight)
.padding(.trailing)
VStack{
VStack {
HStack{
Image("account")
.frame(width: 22, height: 22)
.padding(.horizontal, 8)
.accentColor(.white)
.foregroundColor(.white)
.background(.lineColor01)
.modifier(TextFieldModifier(text: $loginViewParam.shipId, inputType: .UserId))
}
Divider()
.frame(height: 1)
.background(Color(.white))
Spacer()
.frame(height: 16)
HStack{
Image("password")
.padding(.horizontal, 4)
.foregroundColor(.white)
SecureField(
"",
text: $loginViewParam.password,
prompt: Text("Password")
.foregroundColor(.white)
)
.frame(height: textFieldHeight)
.padding(.trailing)
TextField(
"",
text: $param.shipId,
prompt: Text("Ship ID")
.foregroundColor(.white)
}
)
.frame(height: textFieldHeight)
.padding(.trailing)
.foregroundColor(.white)
.background(.lineColor01)
.modifier(TextFieldModifier(text: $param.shipId, inputType: .UserId))
Divider()
.frame(height: 1)
.background(Color(.white))
}
Divider()
.frame(height: 1)
.background(Color(.white))
Spacer()
.frame(height: 40)
Button(action: {
loginViewParam.viewMode = .InputUserName
}, label: {
Text("Sign In")
.frame(height: 60)
.frame(maxWidth: .infinity)
.foregroundColor(.buttonText)
.background(.primaryActiveIcon)
})
.frame(height: 16)
HStack{
Image("password")
.padding(.horizontal, 4)
.foregroundColor(.white)
SecureField(
"",
text: $param.password,
prompt: Text("Password")
.foregroundColor(.white)
)
.frame(height: textFieldHeight)
.padding(.trailing)
.foregroundColor(.white)
}
Divider()
.frame(height: 1)
.background(Color(.white))
}
.padding(EdgeInsets(top: 26, leading: 20, bottom: 40, trailing: 20))
Spacer()
.frame(height: 40)
Button(action: {
viewMode = .InputUserName
}, label: {
Text("Sign In")
.frame(height: 60)
.frame(maxWidth: .infinity)
.foregroundColor(.buttonText)
.background(.primaryActiveIcon)
})
}
.padding(EdgeInsets(top: 26, leading: 20, bottom: 40, trailing: 20))
.background(ColorSet.BackgroundSecondary.color)
.padding(.horizontal, 30)
}
}
#Preview {
InputIdPassWordView()
.environmentObject(LoginViewParam())
InputIdPassWordView(viewMode: .constant(.InputIdPassword), param: .constant(LoginViewParam()))
}
......@@ -9,7 +9,7 @@ import SwiftUI
struct InputUserNameView: View {
@Binding var isLogin: Bool
@EnvironmentObject var loginViewParam: LoginViewParam
@Binding var param: LoginViewParam
let itemHPadding: Double = 16
let dialogBottomPadding: Double = 32
let textFieldHeight: Double = 40
......@@ -37,7 +37,7 @@ struct InputUserNameView: View {
.foregroundColor(.white)
TextField(
"",
text: $loginViewParam.userName,
text: $param.userName,
prompt: Text("Please set user name")
.foregroundColor(.white)
)
......@@ -58,10 +58,9 @@ struct InputUserNameView: View {
Button(action: {
// TODO: API通信 ログイン認証処理
print("signin: id(\(param.shipId)), pass(\(param.password)), name(\(param.userName))")
isLogin = true
Preferences.lastLoginDate_Int64 = DateTextLib.Date2UnixTime(date: Date())
}, label: {
Text("Sign In")
.frame(height: 50)
......@@ -83,7 +82,7 @@ struct InputUserNameView: View {
}
#Preview {
InputUserNameView(isLogin: .constant(false))
.environmentObject(LoginViewParam())
InputUserNameView(isLogin: .constant(false), param: .constant(LoginViewParam()))
}
......@@ -9,15 +9,12 @@ import SwiftUI
struct LoginTypeSelectView: View{
@Binding var isQrRead: Bool
@EnvironmentObject var loginViewParam: LoginViewParam
@Binding var viewMode: LoginViewMode
var body: some View{
VStack {
HStack {
Spacer()
.frame(width: 32)
Button(action: {
loginViewParam.viewMode = .SelectType
isQrRead = true
}, label: {
Text("QRを読み込む")
......@@ -26,14 +23,11 @@ struct LoginTypeSelectView: View{
.foregroundColor(ColorSet.ButtonText.color)
.background(ColorSet.PrimaryActiveIcon.color)
})
Spacer()
.frame(width: 32)
}
.padding(.horizontal, 32)
Button(action: {
loginViewParam.viewMode = .InputIdPassword
print("change mode")
viewMode = .InputIdPassword
}, label: {
Text("Ship ID/Passwordを入力")
.underline()
......@@ -44,6 +38,5 @@ struct LoginTypeSelectView: View{
}
}
#Preview {
LoginTypeSelectView(isQrRead: .constant(false))
.environmentObject(LoginViewParam())
LoginTypeSelectView(isQrRead: .constant(false), viewMode: .constant(.SelectType))
}
......@@ -38,29 +38,24 @@ struct MainTabView: View {
ChatView()
}
.tag(Tab.chat)
.hidden()
.hideNativeTabBar()
NavigationStack{
MapRepresentable()
}
.tag(Tab.task)
.hideNativeTabBar()
NavigationStack{
NotificationView()
}
.tag(Tab.alert)
.hideNativeTabBar()
NavigationStack{
MenuView()
}
.tag(Tab.menu)
.hideNativeTabBar()
}
.hideNativeTabBar()
.sheet(isPresented: .constant(isTaskSel && isTabShow), content: {
NavigationStack{
MapTaskView()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment