git.iko.soy/rowtype-yoga/psfp
on 3fd5ecd help sign in
142 lines 8.8 kB history raw
1// Generated by purs version 0.13.6
2"use strict";
3var Container_Header = require("../Container.Header/index.js");
4var Container_Landing = require("../Container.Landing/index.js");
5var Container_Sidebar = require("../Container.Sidebar/index.js");
6var Control_Applicative = require("../Control.Applicative/index.js");
7var Control_Bind = require("../Control.Bind/index.js");
8var Data_Nullable = require("../Data.Nullable/index.js");
9var Data_Semigroup = require("../Data.Semigroup/index.js");
10var Data_Symbol = require("../Data.Symbol/index.js");
11var Effect = require("../Effect/index.js");
12var JSS = require("../JSS/index.js");
13var Milkis_Impl_Window = require("../Milkis.Impl.Window/index.js");
14var React_Basic = require("../React.Basic/index.js");
15var React_Basic_DOM_Generated = require("../React.Basic.DOM.Generated/index.js");
16var React_Basic_Hooks = require("../React.Basic.Hooks/index.js");
17var React_Basic_Hooks_Internal = require("../React.Basic.Hooks.Internal/index.js");
18var Record_Extra = require("../Record.Extra/index.js");
19var Type_Equality = require("../Type.Equality/index.js");
20var Yoga_CompileEditor_Component = require("../Yoga.CompileEditor.Component/index.js");
21var Yoga_Polyfill_SmoothScrolling = require("../Yoga.Polyfill.SmoothScrolling/index.js");
22var Yoga_SVG_Icon = require("../Yoga.SVG.Icon/index.js");
23var Yoga_Theme_Provider = require("../Yoga.Theme.Provider/index.js");
24var Yoga_Theme_Styles = require("../Yoga.Theme.Styles/index.js");
25var initialCode = "module Main where\x0a\x0aimport Batteries\x0a\x0amain :: Effect Unit\x0amain = log \"Let's do this!\"";
26var mkContainerContent = Control_Bind.discard(Control_Bind.discardUnit)(Effect.bindEffect)(Yoga_Polyfill_SmoothScrolling.smoothScrollPolyfill)(function ($dollar__unused) {
27 return function __do() {
28 var useStyles = Yoga_Theme_Styles.makeStylesJSS()(Record_Extra.mapRecordCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
29 return "container";
30 }))()(Record_Extra.mapRecordCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
31 return "content";
32 }))()(Record_Extra.mapRecordCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
33 return "icon";
34 }))()(Record_Extra.mapRecordNil)()())()())()())(JSS.jssClasses()(function (v) {
35 return {
36 container: JSS.jss(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
37 return "color";
38 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
39 return "display";
40 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
41 return "flexDirection";
42 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
43 return "fontFamily";
44 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
45 return "minHeight";
46 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
47 return "width";
48 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsNil)))))))()())({
49 fontFamily: v.textFontFamily,
50 color: v.textColour,
51 display: "flex",
52 flexDirection: "column",
53 width: "100%",
54 minHeight: "200%"
55 }),
56 content: JSS.jss(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
57 return "backgroundColor";
58 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
59 return "minHeight";
60 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
61 return "padding";
62 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
63 return "paddingLeft";
64 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
65 return "zIndex";
66 }))(JSS.jssAbleInt)()()()(JSS.jssAbleFieldsNil))))))()())({
67 backgroundColor: v.backgroundColour,
68 padding: "20px",
69 minHeight: "calc(100vh - 40px)",
70 paddingLeft: "100px",
71 zIndex: 0
72 }),
73 icon: JSS.jss(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
74 return "fill";
75 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsNil))()())({
76 fill: "theme.textColour"
77 })
78 };
79 }))();
80 var landingPage = Container_Landing.mkLandingPage();
81 var sidebar = Container_Sidebar.mkSidebar();
82 var header = Container_Header.mkHeader();
83 var sidebarLink = Container_Sidebar.mkSidebarLink();
84 var editor = Yoga_CompileEditor_Component.mkCompileEditor(Milkis_Impl_Window.windowFetch)();
85 return React_Basic_Hooks.component()()()("ContainerContent")(function (v) {
86 return React_Basic_Hooks_Internal.bind(React_Basic_Hooks_Internal.ixBindRender)(useStyles({}))(function (classes) {
87 return React_Basic_Hooks_Internal.bind(React_Basic_Hooks_Internal.ixBindRender)(React_Basic_Hooks.useState(true))(function (v1) {
88 return React_Basic_Hooks_Internal.bind(React_Basic_Hooks_Internal.ixBindRender)(React_Basic_Hooks.useRef(Data_Nullable["null"]))(function (editorRef) {
89 return Control_Applicative.pure(React_Basic_Hooks_Internal.applicativeRender(Type_Equality.refl))(React_Basic_DOM_Generated.div()({
90 className: classes.container,
91 children: [ React_Basic.element(landingPage)({}), React_Basic.element(sidebar)({
92 collapsed: v1.value0,
93 modifyCollapsed: v1.value1,
94 kids: [ React_Basic.element(sidebarLink)({
95 name: "Learn",
96 icon: React_Basic.element(Yoga_SVG_Icon.appendIcon())({}),
97 collapsed: v1.value0
98 }), React_Basic.element(sidebarLink)({
99 name: "Try",
100 icon: React_Basic.element(Yoga_SVG_Icon.bindIcon())({}),
101 collapsed: v1.value0
102 }), React_Basic.element(sidebarLink)({
103 name: "Share",
104 icon: React_Basic.element(Yoga_SVG_Icon.applyflippedIcon())({}),
105 collapsed: v1.value0
106 }), React_Basic.element(sidebarLink)({
107 name: "Jobs",
108 icon: React_Basic.element(Yoga_SVG_Icon.mapIcon())({}),
109 collapsed: v1.value0
110 }) ]
111 }), React_Basic_DOM_Generated.div()({
112 className: classes.content,
113 children: Data_Semigroup.append(Data_Semigroup.semigroupArray)([ React_Basic.element(editor)({
114 initialCode: initialCode,
115 height: "50vh",
116 language: "purescript"
117 }) ])(v.kids)
118 }) ]
119 }));
120 });
121 });
122 });
123 })();
124 };
125});
126var mkContainer = function __do() {
127 var themeProvider = Yoga_Theme_Provider.mkThemeProvider();
128 var containerContent = mkContainerContent();
129 return React_Basic_Hooks.component()()()("Container")(function (v) {
130 return Control_Applicative.pure(React_Basic_Hooks_Internal.applicativeRender(Type_Equality.refl))(React_Basic.element(themeProvider)({
131 theme: v.theme,
132 children: [ React_Basic.element(containerContent)({
133 kids: v.kids
134 }) ]
135 }));
136 })();
137};
138module.exports = {
139 mkContainer: mkContainer,
140 mkContainerContent: mkContainerContent,
141 initialCode: initialCode
142};