From 638bdddeb10b18dd35af5a6de2950aaa3c8a5e44 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Tue, 10 Dec 2024 14:28:30 -0500 Subject: Initial mrgreen activities --- src/Main/Register.purs | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/Main/Register.purs (limited to 'src/Main/Register.purs') diff --git a/src/Main/Register.purs b/src/Main/Register.purs new file mode 100644 index 0000000..3741107 --- /dev/null +++ b/src/Main/Register.purs @@ -0,0 +1,45 @@ +module Main.Register where + +import Prelude + +import Auth (authHeader, getToken, startTwitchAuth) +import Config as Config +import Data.Maybe (Maybe(..)) +import Data.String as String +import Data.Tuple (Tuple(..)) +import Effect (Effect) +import Effect.Aff (launchAff_) +import Effect.Class (liftEffect) +import Effect.Console (log) +import Fetch (fetch) +import Utils (byId, listen, removeClass, setText) + +main :: Effect Unit +main = launchAff_ do + liftEffect $ log "hello from registration page" + link <- byId "lcolonq-register-link" + getToken >>= case _ of + Just a@(Tuple _t _n) -> do -- if there's an auth token in the fragment, ask the API to register us + { text: resp } <- fetch (Config.apiServer <> "/register") + { headers: + { "Authorization": authHeader a + } + } + r <- resp + case String.split (String.Pattern " ") r of + [user, pass] -> do + container <- byId "lcolonq-registered-container" + removeClass "lcolonq-invisible" container + fieldUsername <- byId "lcolonq-registered-username" + setText fieldUsername user + fieldPassword <- byId "lcolonq-registered-password" + setText fieldPassword pass + _ -> do + container <- byId "lcolonq-register-error-container" + removeClass "lcolonq-invisible" container + _ -> do -- otherwise, show the button to register + container <- byId "lcolonq-register-container" + removeClass "lcolonq-invisible" container + listen link "click" \_ev -> do + liftEffect $ log "register" + startTwitchAuth -- cgit v1.2.3