diff options
| -rw-r--r-- | src/Main.hs | 11 |
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 () |