summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2024-11-25 23:30:16 -0500
committerLLLL Colonq <llll@colonq>2024-11-25 23:30:16 -0500
commit2e92b2e59b543c4c20f52295ef3913f229ed20d3 (patch)
tree5195cf47cc3a3a18547397554129809d92becd74 /src
parentfe9ca701f26478bacdd52188b5e75045746ebb68 (diff)
Redeem submit
Diffstat (limited to 'src')
-rw-r--r--src/Main.purs7
-rw-r--r--src/UI.js16
-rw-r--r--src/UI.purs6
3 files changed, 29 insertions, 0 deletions
diff --git a/src/Main.purs b/src/Main.purs
index 7897b49..983a805 100644
--- a/src/Main.purs
+++ b/src/Main.purs
@@ -37,6 +37,7 @@ import Web.HTML as HTML
import Web.HTML.HTMLDocument as HTML.Doc
import Web.HTML.HTMLInputElement as HTML.Input
import Web.HTML.Window as HTML.Win
+import Web.XHR.FormData as FD
maybeToArray :: forall a. Maybe a -> Array a
maybeToArray (Just x) = [x]
@@ -228,6 +229,12 @@ mainRegister = launchAff_ do
mainMenu :: Effect Unit
mainMenu = launchAff_ do
liftEffect $ log "hello from menu"
+ textareas <- queryAll "textarea"
+ for_ textareas \ta -> listen ta "click" Ev.stopPropagation
+ boxes <- queryAll ".lcolonq-menu-box"
+ for_ boxes \box -> do
+ listen box "click" \_ev -> do
+ UI.submitRedeem box
mainAuth :: Effect Unit
mainAuth = launchAff_ do
diff --git a/src/UI.js b/src/UI.js
index b27b10b..5f1aaa0 100644
--- a/src/UI.js
+++ b/src/UI.js
@@ -1,9 +1,25 @@
export const _cheatLog = (a) => () => console.log(a);
export const _setInterval = (delay) => (f) => () => setInterval(f, delay);
export const _toJSON = (x) => JSON.stringify(x);
+
export const _reload = () => {
window.location.reload();
};
+
export const _redirect = (url) => () => {
window.location.href = url;
};
+
+export const _submitRedeem = (url) => (el) => () => {
+ const redeem = el.children[0].textContent;
+ const inp = el.children[1]?.value;
+ console.log(redeem, inp);
+ const data = new FormData();
+ data.append("ayem", "test");
+ data.append("name", redeem);
+ data.append("input", inp);
+ fetch(url, {
+ method: "post",
+ body: data,
+ });
+};
diff --git a/src/UI.purs b/src/UI.purs
index ac4d694..a01422f 100644
--- a/src/UI.purs
+++ b/src/UI.purs
@@ -1,8 +1,10 @@
module UI where
import Prelude
+import Config as Config
import Effect (Effect)
import Effect.Class (class MonadEffect, liftEffect)
+import Web.DOM.Element as DOM.El
foreign import _cheatLog :: forall a. a -> Effect Unit
cheatLog :: forall m a. MonadEffect m => a -> m Unit
@@ -23,3 +25,7 @@ reload = liftEffect _reload
foreign import _redirect :: String -> Effect Unit
redirect :: forall m. MonadEffect m => String -> m Unit
redirect url = liftEffect $ _redirect url
+
+foreign import _submitRedeem :: String -> DOM.El.Element -> Effect Unit
+submitRedeem :: forall m. MonadEffect m => DOM.El.Element -> m Unit
+submitRedeem el = liftEffect $ _submitRedeem (Config.apiServer <> "/redeem") el