ForgotPassword.purs 1.51 KB
Newer Older
Karen Konou's avatar
Karen Konou committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
module Gargantext.Components.ForgotPassword where

import Gargantext.Prelude

import Data.Maybe (Maybe(..))
import Gargantext.Config.REST (AffRESTError, logRESTError, get)
import Gargantext.Hooks.Loader (useLoader)
import Gargantext.Utils.Reactix as R2
import Reactix as R
import Reactix.DOM.HTML as H

here :: R2.Here
here = R2.here  "Gargantext.Components.ForgotPassword"

type ForgotPasswordProps = ( server :: String, uuid :: String )

forgotPasswordLayout :: R2.Component ForgotPasswordProps
forgotPasswordLayout = R.createElement forgotPasswordLayoutCpt

forgotPasswordLayoutCpt :: R.Component ForgotPasswordProps
forgotPasswordLayoutCpt = here.component "forgotPasswordLayout" cpt where
  cpt { server, uuid } _ = do
    useLoader { errorHandler
              , loader: loadPassword
              , path: { server, uuid }
26
              , render: \{ password } ->
27 28 29
                H.div { className:"container text-center justify-content-center" } [
                  H.div {className: "row"} [ H.div {className: "mx-auto"} [ H.img { src: "images/logo.png" } ] ]
                , H.div {className: "row"} [ H.div {className: "col"} [ H.text ("Your new password is: " <> password) ] ]
30
                  ]}
Karen Konou's avatar
Karen Konou committed
31 32 33 34 35 36 37 38 39
    where
      errorHandler = logRESTError here "[forgotPasswordLayout]"

------------------------------------

type PasswordData = ( password :: String )

loadPassword :: Record ForgotPasswordProps -> AffRESTError (Record PasswordData)
loadPassword { server, uuid } = get Nothing (server <> "/api/v1.0/forgot-password?uuid=" <> uuid )