Skip to content

Commit 6513bb0

Browse files
committed
add instructions
1 parent 44ab13f commit 6513bb0

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

src/ConsolePanel.res

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,12 @@ let make = (~logs, ~setLogs) => {
2222

2323
<div>
2424
{switch logs {
25-
| [] => React.null
25+
| [] =>
26+
<div className="m-2">
27+
{React.string(
28+
"Add some 'Console.log' to your code and enable 'Auto-run' to see your logs here.",
29+
)}
30+
</div>
2631
| logs =>
2732
let content =
2833
logs

src/RenderPanel.res

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,31 @@ let wrapReactApp = code =>
66

77
@react.component
88
let make = (~compilerState: CompilerManagerHook.state, ~clearLogs, ~runOutput) => {
9+
let (validReact, setValidReact) = React.useState(() => false)
910
React.useEffect(() => {
1011
if runOutput {
1112
switch compilerState {
1213
| CompilerManagerHook.Ready({result: Comp(Success({js_code}))}) =>
1314
clearLogs()
1415
let ast = AcornParse.parse(js_code)
1516
let transpiled = AcornParse.removeImportsAndExports(ast)
16-
switch AcornParse.hasEntryPoint(ast) {
17-
| true => transpiled->wrapReactApp->EvalIFrame.sendOutput
18-
| false => EvalIFrame.sendOutput(transpiled)
19-
}
17+
let isValidReact = AcornParse.hasEntryPoint(ast)
18+
isValidReact
19+
? transpiled->wrapReactApp->EvalIFrame.sendOutput
20+
: EvalIFrame.sendOutput(transpiled)
21+
setValidReact(_ => isValidReact)
2022
| _ => ()
2123
}
2224
}
2325
None
2426
}, (compilerState, runOutput))
2527

26-
<EvalIFrame />
28+
<div className="m-2">
29+
{validReact
30+
? React.null
31+
: React.string(
32+
"Create a React component called 'App' if you want to render it here, then enable 'Auto-run'.",
33+
)}
34+
<EvalIFrame />
35+
</div>
2736
}

0 commit comments

Comments
 (0)