    [com.stuartsierra.component :as component]
    [clojure.tools.logging :refer :all]
    [modular.bootstrap :refer (ContentBoilerplate wrap-content-in-boilerplate)]
+   [modular.bidi :refer (path-for)]
    [cylon.impl.authentication :refer (LoginFormRenderer)]
-   [cylon.impl.signup :refer (SignupFormRenderer EmailVerifiedRenderer ResetPasswordRenderer WelcomeRenderer)]
+   [cylon.signup.protocols :refer (SignupFormRenderer EmailVerifiedRenderer ResetPasswordRenderer WelcomeRenderer)]
+   [cylon.totp :as totp]
    [hiccup.core :refer (html h)]
    [garden.core :refer (css)]
    [garden.units :refer (pt em px)]

   (->> opts
        (merge {:login-prompt "Please sign in&#8230"
                :signup-prompt "Please sign up&#8230"
                :reset-pw-prompt "Reset your password&#8230"})
        (s/validate new-bootstrap-user-form-renderer-schema)
        map->BootstrapUserFormRenderer)
   [:boilerplate]))


        [:button.btn.btn-lg.btn-primary.btn-block {:type "submit"} "Sign in"]

        [:p]

        [:div
         (when-let [signup-uri (-> model :form :signup-uri)]
           [:p.note  "Don't have an account? " [:a {:href signup-uri} "Sign up"]])]

        #_[:p]
        #_[:a {:href "#"} "Reset password"]
        ]])))
