@@ -68,6 +68,11 @@ module Suave =
6868 Error = None
6969 }
7070
71+ let loginTemplatePath = " user/login.liquid"
72+
73+ let renderLoginPage ( viewModel : LoginViewModel ) =
74+ page loginTemplatePath viewModel
75+
7176 let onLoginSuccess ( user : User ) =
7277 Successful.OK user.Username.Value
7378
@@ -76,20 +81,20 @@ module Suave =
7681 | PasswordMisMatch ->
7782 let vm =
7883 { viewModel with Error = Some " password didn't match" }
79- page " guest/login.liquid " vm
84+ renderLoginPage vm
8085 | EmailNotVerified ->
8186 let vm =
8287 { viewModel with Error = Some " email not verified" }
83- page " guest/login.liquid " vm
88+ renderLoginPage vm
8489 | UsernameNotFound ->
8590 let vm =
8691 { viewModel with Error = Some " invalid username" }
87- page " guest/login.liquid " vm
92+ renderLoginPage vm
8893 | Error ex ->
8994 printfn " %A " ex
9095 let vm =
9196 { viewModel with Error = Some " something went wrong" }
92- page " guest/login.liquid " vm
97+ renderLoginPage vm
9398
9499 let handleLoginResult viewModel loginResult =
95100 either onLoginSuccess ( onLoginFailure viewModel) loginResult
@@ -113,15 +118,13 @@ module Suave =
113118 return ! webpart ctx
114119 | Failure err ->
115120 let viewModel = { vm with Error = Some err}
116- return ! page " guest/login.liquid " viewModel ctx
121+ return ! renderLoginPage viewModel ctx
117122 | Choice2Of2 err ->
118123 let viewModel =
119124 { emptyLoginViewModel with Error = Some err}
120- return ! page " guest/login.liquid " viewModel ctx
125+ return ! renderLoginPage viewModel ctx
121126 }
122127
123- let renderLoginPage viewModel =
124- page " guest/login.liquid" viewModel
125128 let webpart getDataCtx =
126129 let findUser = Persistence.findUser getDataCtx
127130 path " /login" >=> choose [
0 commit comments