summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/JavaScript.hs8
-rw-r--r--src/Main.hs5
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 ()