@@ -3,14 +3,16 @@ module Container.Component where
3import Prelude
3import Prelude
5import CSS.Safer (cssSafer)
5import CSS.Safer (cssSafer)
6+import CompileEditor.Component (mkCompileEditor)
6import Container.Header (mkHeader)
7import Container.Header (mkHeader)
7import Container.Landing (mkLandingPage)
8import Container.Landing (mkLandingPage)
8import Container.Sidebar (mkSidebar, mkSidebarLink)
9import Container.Sidebar (mkSidebar, mkSidebarLink)
10+import Data.Nullable as Nullable
9import Effect (Effect)
11import Effect (Effect)
10import Polyfill.SmoothScrolling (smoothScrollPolyfill)
12import Polyfill.SmoothScrolling (smoothScrollPolyfill)
11import React.Basic (JSX)
13import React.Basic (JSX)
12import React.Basic.DOM as R
14import React.Basic.DOM as R
13−import React.Basic.Hooks ((/\), ReactComponent, component, element, useState)
15+import React.Basic.Hooks (ReactComponent, component, element, useRef, useState, (/\))
14import React.Basic.Hooks as React
16import React.Basic.Hooks as React
15import SVG.Icon (appendIcon, applyflippedIcon, bindIcon, mapIcon)
17import SVG.Icon (appendIcon, applyflippedIcon, bindIcon, mapIcon)
16import Theme.Provider (mkThemeProvider)
18import Theme.Provider (mkThemeProvider)
@@ -63,9 +65,11 @@ mkContainerContent = do
63 sidebar <- mkSidebar
65 sidebar <- mkSidebar
64 header <- mkHeader
66 header <- mkHeader
65 sidebarLink <- mkSidebarLink
67 sidebarLink <- mkSidebarLink
68+ editor <- mkCompileEditor
66 component "ContainerContent" \{ children } -> React.do
69 component "ContainerContent" \{ children } -> React.do
67 classes <- useStyles
70 classes <- useStyles
68 collapsed /\ modifyCollapsed <- useState true
71 collapsed /\ modifyCollapsed <- useState true
72+ editorRef <- useRef Nullable.null
71 { className: classes.container
75 { className: classes.container
@@ -82,6 +86,6 @@ mkContainerContent = do
84 , element header {}
88 , element header {}
85− , R.div { className: classes.content, children }
89+ , R.div { className: classes.content, children: [element editor {}] <> children }