5import CSS.Safer (cssSafer)
7import Effect.Console (log)
8import React.Basic.DOM as R
9import React.Basic.Events (handler_)
10import React.Basic.Hooks (ReactComponent, component, element, useEffect, useState, (/\))
11import React.Basic.Hooks as React
12import Theme.Provider (mkThemeProvider)
13import Theme.Styles (makeStyles)
14import Theme.Types (CSSTheme)
16mkToggleButton ∷ Effect (ReactComponent { label ∷ String })
19 makeStyles \(theme ∷ CSSTheme) -> -- do
22 { backgroundColor: theme.highlightColour
23 , color: theme.textColour
24 , fontFamily: theme.textFontFamily
27 , paddingBottom: "10px"
28 , paddingRight: "20px"
30 , border: "solid 0px black"
34 component "ToggleButton" \{ label } -> React.do
36 on /\ setOn <- useState false
38 log $ "State: " <> if on then "On" else "Off"
42 { onClick: handler_ $ setOn not
43 , className: classes.button
46 , R.text if on then " On" else " Off"
50mkToggleButtonContainer ∷ Effect (ReactComponent {})
51mkToggleButtonContainer = do
52 themeProvider <- mkThemeProvider
53 toggleButton <- mkToggleButton
54 component "Container" \_ ->
58 [ element toggleButton { label: "A" }
59 , 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