diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2026-07-04 17:22:11 +0200 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2026-07-04 17:28:37 +0200 |
| commit | 9686f788eab5690edad7a6b692aa2a926cddc8b8 (patch) | |
| tree | e63eabc080d54fafcb7a13440db3081362256dee | |
| parent | f5924e9e01071b1616d42bf1fa62716d37c59ecf (diff) | |
| -rw-r--r-- | src/JavaScript.hs | 8 | ||||
| -rw-r--r-- | src/Main.hs | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/JavaScript.hs b/src/JavaScript.hs index 6c07370..aaf3747 100644 --- a/src/JavaScript.hs +++ b/src/JavaScript.hs @@ -6,6 +6,8 @@ module JavaScript ( toJSVal, consoleLog, consoleLogVal, + + historyPushState, ) where import JavaScript.Element @@ -21,3 +23,9 @@ foreign import javascript unsafe "console.log($1)" foreign import javascript unsafe "console.log($1)" consoleLogVal :: JSVal -> IO () + + +historyPushState :: String -> IO () +historyPushState = js_history_pushState . toJSString +foreign import javascript unsafe "history.pushState(null, '', $1)" + js_history_pushState :: JSString -> IO () diff --git a/src/Main.hs b/src/Main.hs index a2f4a44..8a33793 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -408,7 +408,6 @@ processUrlParams gs@GlobalState {..} server = do runExceptT (discoverySearch server from) >>= \case Right () -> return () Left err -> JS.consoleLog $ "Failed to search for " <> show from <> ": " <> showErebosError err - js_history_pushState (toJSString " ") | Just Nothing <- lookup "account" params -> do @@ -673,6 +672,7 @@ watchPeers gs@GlobalState {..} server htmlList = do Just h <- reloadHead globalHead (either (fail . showErebosError) return =<<) $ runExceptT $ flip runReaderT h $ do acceptInvite dgst token + historyPushState ("#conv=" <> drop 7 (show dgst)) selectConversation gs =<< runReaderT (directMessageConversation $ finalOwner pidf) globalHead _ -> return () @@ -778,9 +778,6 @@ foreign import javascript unsafe "window.location.origin" foreign import javascript unsafe "window.location.pathname" js_get_location_pathname :: IO JSString -foreign import javascript unsafe "history.pushState(null, '', $1)" - js_history_pushState :: JSString -> IO () - foreign import javascript unsafe "navigator.clipboard.writeText($1)" js_navigator_clipboard_writeText :: JSString -> IO () |