I am trying to redirect the user to a login page, where they can login using firebase but am given the error above.
I am also using the same code (but altered) to redirect them after they have entered the correct username and password.
First Page
import SwiftUI
struct onboarding1: View {
@Binding var isOnboardingDone: Bool
init(_ isOnboardingDone: Binding<Bool>) {
self._isOnboardingDone = isOnboardingDone
}
var body: some View {
NavigationView {
ZStack {
Color("background").edgesIgnoringSafeArea(.all)
VStack {
Image("logo")
Button(action: {
self.isOnboardingDone.toggle()
}) {
Text("toggle")
}
}
}
}
}
}
struct shmuck_Previews: PreviewProvider {
static var previews: some View {
onboarding1(.constant(false))
}
}
Other Page
import SwiftUI
struct supporter: View {
@State var isOnboardingDone = false
var body: some View {
Group {
if isOnboardingDone {
loginpage() // error displayed here ('loginpage.Type' is not convertible to '(Binding<Bool>) -> loginpage')
} else {
onboarding1($isOnboardingDone)
}
}
}
}
struct supporter_Previews: PreviewProvider {
static var previews: some View {
supporter()
}
}
As requested here is the login page code
Login Page
import SwiftUI
import Firebase
struct loginpage: View {
@Binding var sos: Bool
init(_ sos: Binding<Bool>) {
self._sos = sos
}
@State var email = ""
@State var password = ""
var body: some View {
NavigationView {
ZStack {
Color("background").edgesIgnoringSafeArea(.all)
VStack {
Image("fulllogo")
.offset(y: -100)
Text("username")
.offset(y: -200)
TextField("Enter your email", text: $email)
.offset(y: -200)
Text("Password")
.offset(y: -200)
TextField("Enter your password", text: $password)
.offset(y: -200)
Button(action: {
Auth.auth().signIn(withEmail: self.email, password: self.password) { (result, error) in
if error != nil {
print(error?.localizedDescription)
} else {
// user signed in
self.sos.toggle()
}
}
}) {
RoundedRectangle(cornerRadius: 10)
.frame(width: 300, height: 40)
.overlay(
Text("Let's Go!")
.foregroundColor(.white)
)
}.offset(y: -180)
}.navigationBarTitle("Login")
}
}
}
}
struct heyMama_Previews: PreviewProvider {
static var previews: some View {
loginpage(.constant(false))
}
}
Other Page
import SwiftUI
struct login2: View {
@State var sos = false
var body: some View {
Group {
if sos {
LoggedIn()
} else {
loginpage($sos)
}
}
}
}
struct login2_Previews: PreviewProvider {
static var previews: some View {
login2()
}
}