summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Main.hs17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/Main.hs b/src/Main.hs
index 563f3af..75abd05 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -95,13 +95,7 @@ setup = do
gs@GlobalState {..} <- initGlobalState
-
- nameElem <- js_document_getElementById (toJSString "name_text")
- selfRefElem <- js_document_getElementById (toJSString "self_ref_value")
- _ <- watchHead globalHead $ \ls -> do
- let fowner = finalOwner $ headLocalIdentity ls
- js_set_textContent nameElem $ toJSString $ maybe "(Anonymous)" T.unpack $ idName fowner
- js_set_textContent selfRefElem $ toJSString $ maybe "" (show . refDigest . storedRef) $ listToMaybe $ idDataF fowner
+ watchIdentityUpdates gs
let devName = T.pack "WebApp"
let st = globalStorage
@@ -181,6 +175,15 @@ setup = do
Left err -> JS.consoleLog $ "Failed to send message: " <> showErebosError err
+watchIdentityUpdates :: GlobalState -> IO ()
+watchIdentityUpdates GlobalState {..} = do
+ nameElem <- js_document_getElementById (toJSString "name_text")
+ selfRefElem <- js_document_getElementById (toJSString "self_ref_value")
+ void $ watchHeadWith globalHead headLocalIdentity $ \lid -> do
+ let fowner = finalOwner lid
+ js_set_textContent nameElem $ toJSString $ maybe "(Anonymous)" T.unpack $ idName fowner
+ js_set_textContent selfRefElem $ toJSString $ maybe "" (show . refDigest . storedRef) $ listToMaybe $ idDataF fowner
+
updateSharedIdentity :: (MonadHead LocalState m, MonadError e m, FromErebosError e) => Text -> m ()
updateSharedIdentity name = updateLocalState_ $ updateSharedState_ $ \case
Just identity -> do