1module Container.Component where
4import CSS.Safer (cssSafer)
5import Container.Header (mkHeader)
6import Container.Landing (mkLandingPage)
7import Container.Sidebar (mkSidebar, mkSidebarLink)
9import React.Basic (JSX)
10import React.Basic.DOM as R
11import React.Basic.Hooks ((/\), ReactComponent, component, element, useState)
12import React.Basic.Hooks as React
13import SVG.Icon (appendIcon, applyflippedIcon, bindIcon, mapIcon)
14import Theme.Provider (mkThemeProvider)
15import Theme.Styles (makeStyles)
16import Theme.Types (CSSTheme)
18mkContainer ∷ Effect (ReactComponent { theme ∷ CSSTheme, children ∷ Array JSX })
20 themeProvider <- mkThemeProvider
21 containerContent <- mkContainerContent
22 component "Container" \{ theme, children } -> React.do
24 $ element themeProvider
27 [ element containerContent { children }
31mkContainerContent ∷ Effect (ReactComponent { children ∷ Array JSX })
32mkContainerContent = do
33 landingPage <- mkLandingPage
37 makeStyles \(theme ∷ CSSTheme) ->
38 -- { "@global": cssSafer { "*": { outline: "1px solid red" } }
41 { backgroundColor: theme.backgroundColour
42 , fontFamily: theme.textFontFamily
43 , color: theme.textColour
45 , transition: "0.2s ease-in-out"
47 "'landing landing landing'"
48 <> "'header header header' "
49 <> "'nav content content'"
50 -- , "footer footer footer"
51 -- , gridTemplateColumns: "max-content auto"
60 , icon: cssSafer { fill: "theme.textColour" }
62 sidebarLink <- mkSidebarLink
63 component "ContainerContent" \{ children } -> React.do
65 collapsed /\ modifyCollapsed <- useState true
68 { className: classes.container
70 [ element landingPage {}
75 [ element sidebarLink { name: "Learn", icon: element appendIcon {}, collapsed }
76 , element sidebarLink { name: "Try", icon: element bindIcon {}, collapsed }
77 , element sidebarLink { name: "Share", icon: element applyflippedIcon {}, collapsed }
78 , element sidebarLink { name: "Jobs", icon: element mapIcon {}, collapsed }
82 , R.div { className: classes.content, children }
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