5import Effect.Console (log)
6import React.Basic.DOM (css)
7import React.Basic.DOM as R
8import React.Basic.Events (handler_)
9import React.Basic.Hooks (ReactComponent, component, element, useEffect, useState, (/\))
10import React.Basic.Hooks as React
11import Theme.Provider (mkThemeProvider)
12import Theme.Styles (makeStyles)
13import Theme.Types (Theme)
15mkToggleButton ∷ Effect (ReactComponent { label ∷ String })
18 makeStyles \(theme ∷ Theme) -> -- do
21 { backgroundColor: theme.highlightColour
22 , color: theme.textColour
23 , fontFamily: theme.textFontFamily
26 , paddingBottom: "10px"
27 , paddingRight: "20px"
29 , border: "solid 0px black"
33 component "ToggleButton" \{ label } -> React.do
35 on /\ setOn <- useState false
37 log $ "State: " <> if on then "On" else "Off"
41 { onClick: handler_ $ setOn not
42 , className: classes.button
45 , R.text if on then " On" else " Off"
49mkToggleButtonContainer ∷ Effect (ReactComponent {})
50mkToggleButtonContainer = do
51 themeProvider <- mkThemeProvider
52 toggleButton <- mkToggleButton
53 component "Container" \_ ->
57 [ element toggleButton { label: "A" }
58 , element toggleButton { label: "B" }
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list