From 7811d5658c75344dd1787cd821c5c28e2a3dab32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 4 Jul 2026 21:56:35 +0200 Subject: Attach service handling using URL parameter --- src/JavaScript.hs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/JavaScript.hs') diff --git a/src/JavaScript.hs b/src/JavaScript.hs index aaf3747..3039b3f 100644 --- a/src/JavaScript.hs +++ b/src/JavaScript.hs @@ -8,6 +8,9 @@ module JavaScript ( consoleLogVal, historyPushState, + locationAssign, + locationGetHash, + locationSetHash, ) where import JavaScript.Element @@ -29,3 +32,18 @@ historyPushState :: String -> IO () historyPushState = js_history_pushState . toJSString foreign import javascript unsafe "history.pushState(null, '', $1)" js_history_pushState :: JSString -> IO () + +locationAssign :: String -> IO () +locationAssign = js_location_assign . toJSString +foreign import javascript unsafe "window.location.assign($1)" + js_location_assign :: JSString -> IO () + +locationGetHash :: IO String +locationGetHash = fromJSString <$> js_location_hash_get +foreign import javascript unsafe "window.location.hash" + js_location_hash_get :: IO JSString + +locationSetHash :: String -> IO () +locationSetHash = js_location_hash_set . toJSString +foreign import javascript unsafe "window.location.hash = $1" + js_location_hash_set :: JSString -> IO () -- cgit v1.2.3