Skip to content
Snippets Groups Projects
Commit c8c0434d authored by meejah's avatar meejah
Browse files

make progress indicator show at correct time

parent 0133bc80
No related branches found
No related tags found
1 merge request!57Magic wormhole invites
Pipeline #4865 failed
......@@ -32,9 +32,11 @@ data AcceptingInviteState
-- | Show something for invite progress
indeterminateLinearProgress
:: (DomBuilder t m) => m ()
indeterminateLinearProgress = do
elAttr "div" ("class" =: "mdc-linear-progress" <> "role" =: "progressbar" <> "aria-label" =: "Invite Progress" <> "aria-valuemin" =: "0" <> "aria-valuemax" =: "1" <> "aria-valuenow" =: "0") $ do
:: (DomBuilder t m, PostBuild t m) => Dynamic t AcceptingInviteState -> m ()
indeterminateLinearProgress acceptInviteState = do
-- XXX change ReceivingInvite to NotAccepting if debugging the progress-indicator
elDynAttr "div" (inviteWidgetAttributes ReceivingInvite <$> acceptInviteState) $ do
elAttr "div" ("class" =: "mdc-linear-progress" <> "role" =: "progressbar" <> "aria-label" =: "Invite Progress" <> "aria-valuemin" =: "0" <> "aria-valuemax" =: "1" <> "aria-valuenow" =: "0" <> "data-mdc-auto-init" =: "MDCRipple") $ do
elAttr "div" ("class" =: "mdc-linear-progress__buffer") $ do
elAttr "div" ("class" =: "mdc-linear-progress__buffer-bar") blank
elAttr "div" ("class" =: "mdc-linear-progress__buffer-dots") blank
......@@ -44,10 +46,11 @@ indeterminateLinearProgress = do
elAttr "span" ("class" =: "mdc-linear-progress__bar-inner") blank
inviteWidgetAttributes :: AcceptingInviteState -> Map.Map T.Text T.Text
inviteWidgetAttributes :: Eq a => a -> a -> Map.Map T.Text T.Text
-- XXX maybe MDC has ... a way? too
inviteWidgetAttributes EnteringCode = ("visibility" =: "visible")
inviteWidgetAttributes _ = ("style" =: "visibility: hidden")
inviteWidgetAttributes when now
| when == now = ("style" =: "visibility: visible")
| otherwise = ("style" =: "visibility: hidden")
magicFolders
......@@ -98,7 +101,7 @@ magicFolders foldersDyn updateFolders = do
-- dismiss clicked -> NotAccepting
rec
(_, submitInviteCode) <- elDynAttr' "div" (inviteWidgetAttributes <$> acceptInviteState) $ do
(_, submitInviteCode) <- elDynAttr' "div" (inviteWidgetAttributes EnteringCode <$> acceptInviteState) $ do
inputEl <- inputElement $ def
{ _inputElementConfig_initialValue = "0-invite-code"
}
......@@ -121,6 +124,8 @@ magicFolders foldersDyn updateFolders = do
acceptInviteState <- foldDyn const NotAccepting (leftmost inviteEvents)
blank
indeterminateLinearProgress acceptInviteState
-- Render the current invite UI state appropriately into the page.
-- dyn_ $ receiveFolderInviteUI <$> acceptInviteState
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment