From baa7193345e9f0e9085bcb557e8e976d2d270867 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Tue, 18 Feb 2025 18:40:38 -0500 Subject: Support shader upload --- src/Main/Throwshade.purs | 6 +++++- src/UI.js | 10 ++++++++++ src/UI.purs | 4 ++++ 3 files changed, 19 insertions(+), 1 deletion(-) (limited to 'src') 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 -- cgit v1.2.3