summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Main.hs11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/Main.hs b/src/Main.hs
index db1d8ef..cc6a5c6 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -379,7 +379,13 @@ processUrlParams gs@GlobalState {..} server = do
| otherwise -> do
JS.consoleLog $ "Unrecognized URL parameters: " <> show params
- _ -> return ()
+ _ -> do
+ modifyMVar_ currentContextVar $ \_ -> do
+ mapM_ (flip js_classList_remove (toJSString "selected")) =<<
+ JS.documentQuerySelector "#sidebar ul li.selected"
+ mapM_ (\body -> js_removeAttribute body (toJSString "data-selected")) =<<
+ JS.getElementById "body"
+ return NoContext
watchIdentityUpdates :: GlobalState -> IO ()
@@ -667,6 +673,9 @@ foreign import javascript unsafe "$1.remove()"
foreign import javascript unsafe "$1.setAttribute($2, $3)"
js_setAttribute :: JSVal -> JSString -> JSString -> IO ()
+foreign import javascript unsafe "$1.removeAttribute($2)"
+ js_removeAttribute :: JSVal -> JSString -> IO ()
+
foreign import javascript unsafe "$1.classList.add($2)"
js_classList_add :: JSVal -> JSString -> IO ()