summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2025-02-18 18:40:38 -0500
committerLLLL Colonq <llll@colonq>2025-02-18 18:40:38 -0500
commitbaa7193345e9f0e9085bcb557e8e976d2d270867 (patch)
treede922e51ef577b317c970facb6d4ae445a80c1de /src
parent34b49df0ab7336789e79590e51d4456f92024408 (diff)
Support shader upload
Diffstat (limited to 'src')
-rw-r--r--src/Main/Throwshade.purs6
-rw-r--r--src/UI.js10
-rw-r--r--src/UI.purs4
3 files changed, 19 insertions, 1 deletions
diff --git a/src/Main/Throwshade.purs b/src/Main/Throwshade.purs
index ad1ad2c..bd7393b 100644
--- a/src/Main/Throwshade.purs
+++ b/src/Main/Throwshade.purs
@@ -5,7 +5,7 @@ import Prelude
import Effect (Effect)
import Effect.Class (liftEffect)
import Effect.Console (log)
-import UI (setShader)
+import UI (setShader, submitShader)
import Utils (byId, getTextArea, listen)
main :: Effect Unit
@@ -16,3 +16,7 @@ main = do
listen test "click" \_ -> do
s <- getTextArea input
setShader s
+ submit <- byId "lcolonq-throwshade-button-submit"
+ listen submit "click" \_ -> do
+ s <- getTextArea input
+ submitShader s
diff --git a/src/UI.js b/src/UI.js
index a6dd0fa..eb10598 100644
--- a/src/UI.js
+++ b/src/UI.js
@@ -26,3 +26,13 @@ export const _submitRedeem = (url) => (el) => () => {
export const _setShader = (shader) => () => {
window.wasmBindings.set_shader(shader);
};
+
+export const _submitShader = (url) => (shader) => () => {
+ const data = new FormData();
+ data.append("name", "throw shade");
+ data.append("input", shader);
+ fetch(url, {
+ method: "post",
+ body: data,
+ });
+};
diff --git a/src/UI.purs b/src/UI.purs
index 44117a0..d5913b7 100644
--- a/src/UI.purs
+++ b/src/UI.purs
@@ -33,3 +33,7 @@ submitRedeem el = liftEffect $ _submitRedeem (Config.secureApiServer <> "/redeem
foreign import _setShader :: String -> Effect Unit
setShader :: forall m. MonadEffect m => String -> m Unit
setShader s = liftEffect $ _setShader s
+
+foreign import _submitShader :: String -> String -> Effect Unit
+submitShader :: forall m. MonadEffect m => String -> m Unit
+submitShader el = liftEffect $ _submitShader (Config.secureApiServer <> "/redeem") el