1module Container.Component where
5import Container.Header (mkHeader)
6import Container.Sidebar (mkSidebar, mkSidebarLink)
8import React.Basic (JSX)
9import React.Basic.DOM (css)
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
36 makeStyles \(theme ∷ CSSTheme)->
39 { backgroundColor: theme.backgroundColour
40 , fontFamily: theme.textFontFamily
41 , color: theme.textColour
43 , transition: "0.2s ease-in-out"
45 "'landing landing landing'"
46 <> "'header header header' "
47 <> "'nav content content'"
48 -- , "footer footer footer"
49 -- , gridTemplateColumns: "max-content auto"
54 , landing: css { width: "100vw", height: "100vh", gridArea: "landing" }
55 , content: css { gridArea: "content" }
56 , icon: css { fill: "theme.textColour" }
58 sidebarLink <- mkSidebarLink
59 component "ContainerContent" \{ children } -> React.do
61 collapsed /\ modifyCollapsed <- useState true
64 { className: classes.container
67 { src: "https://images.unsplash.com/photo-1537498425277-c283d32ef9db?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9"
68 , className: classes.landing
74 [ element sidebarLink { name: "Learn", icon: element appendIcon {}, collapsed }
75 , element sidebarLink { name: "Try", icon: element bindIcon {}, collapsed }
76 , element sidebarLink { name: "Share", icon: element applyflippedIcon {}, collapsed }
77 , element sidebarLink { name: "Jobs", icon: element mapIcon {}, collapsed }
81 , 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