ContentView.swift
//
// ContentView.swift
// DevSwiftUI
//
// Created by Cairocoders
//
import SwiftUI
struct ContentView: View {
@State var user = ""
@State var pass = ""
@State var login = false
@State var signup = false
var body: some View {
ZStack{
LinearGradient(gradient: .init(colors: [Color("1"),Color("2")]), startPoint: .leading, endPoint: .trailing).edgesIgnoringSafeArea(.all)
Login(login: $login, signup: $signup, user: $user, pass: $pass)
}.alert(isPresented: $login) {
Alert(title: Text(self.user), message: Text(self.pass), dismissButton: .none)
}
.sheet(isPresented: $signup) {
signUp(signup: self.$signup)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Login.swift
//
// Login.swift
// DevSwiftUI
//
// Created by Cairocoders
//
import SwiftUI
struct Login : View {
@Binding var login : Bool
@Binding var signup : Bool
@Binding var user : String
@Binding var pass : String
var body : some View{
VStack(alignment: .center, spacing: 22, content: {
Image("logo").resizable().frame(width: 100, height: 100).padding(.bottom, 15)
HStack{
Image(systemName: "person.fill").resizable().frame(width: 20, height: 20)
TextField("Username", text: $user).padding(.leading, 12).font(.system(size: 20))
}.padding(12)
.background(Color("Color"))
.cornerRadius(20)
HStack{
Image(systemName: "lock.fill").resizable().frame(width: 15, height: 20).padding(.leading, 3)
SecureField("Password", text: $pass).padding(.leading, 12).font(.system(size: 20))
}.padding(12)
.background(Color("Color"))
.cornerRadius(20)
Button(action: {
self.login.toggle()
}) {
Text("Login").foregroundColor(.white).padding().frame(width: 150)
}
.background(LinearGradient(gradient: .init(colors: [Color("3"),Color("4")]), startPoint: .leading, endPoint: .trailing))
.cornerRadius(20)
.shadow(radius: 25)
Button(action: {
}) {
Text("Forget password?").foregroundColor(.white)
}
VStack{
Text("Dont have account yet").foregroundColor(.white)
Button(action: {
self.signup.toggle()
}) {
Text("SignUp").foregroundColor(.white).padding().frame(width: 150)
}
.background(LinearGradient(gradient: .init(colors: [Color("3"),Color("4")]), startPoint: .leading, endPoint: .trailing))
.cornerRadius(20)
.shadow(radius: 25)
}.padding(.top, 35)
})
.padding(.horizontal, 18)
}
}
signUp.swift
//
// signUp.swift
// DevSwiftUI
//
// Created by Cairocoders
//
import SwiftUI
struct signUp : View {
@Binding var signup : Bool
@State var user : String = ""
@State var pass : String = ""
@State var repass : String = ""
var body : some View{
ZStack{
LinearGradient(gradient: .init(colors: [Color("1"),Color("2")]), startPoint: .leading, endPoint: .trailing).edgesIgnoringSafeArea(.all)
VStack(alignment: .center, spacing: 22, content: {
Image("logo").resizable().frame(width: 100, height: 100).padding(.bottom, 15)
HStack{
Image(systemName: "person.fill").resizable().frame(width: 20, height: 20)
TextField("Username", text: $user).padding(.leading, 12).font(.system(size: 20))
}.padding(12)
.background(Color("Color"))
.cornerRadius(20)
HStack {
Image(systemName: "lock.fill").resizable().frame(width: 15, height: 20).padding(.leading, 3)
SecureField("Password", text: $repass).padding(.leading, 12).font(.system(size: 20))
}.padding(12)
.background(Color("Color"))
.cornerRadius(20)
HStack{
Image(systemName: "lock.fill").resizable().frame(width: 15, height: 20).padding(.leading, 3)
SecureField("Re-Password", text: $pass).padding(.leading, 12).font(.system(size: 20))
}.padding(12)
.background(Color("Color"))
.cornerRadius(20)
Button(action: {
self.signup.toggle()
}) {
Text("SignUp").foregroundColor(.white).padding().frame(width: 150)
}
.background(LinearGradient(gradient: .init(colors: [Color("1"),Color("2")]), startPoint: .leading, endPoint: .trailing))
.cornerRadius(20)
.shadow(radius: 25)
})
.padding(.horizontal, 18)
}
}
}
