Skip to content

Commit 806f0b8

Browse files
authored
Playground: Recompile on module system toggle (#795)
1 parent 3a3e917 commit 806f0b8

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

src/Playground.res

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1344,15 +1344,15 @@ and the different jsx modes (classic and automatic).
13441344
module InitialContent = {
13451345
let original = `module Button = {
13461346
@react.component
1347-
let make = (~count: int) => {
1347+
let make = (~count) => {
13481348
let times = switch count {
13491349
| 1 => "once"
13501350
| 2 => "twice"
1351-
| n => Belt.Int.toString(n) ++ " times"
1351+
| n => n->Belt.Int.toString ++ " times"
13521352
}
1353-
let msg = "Click me " ++ times
1353+
let text = \`Click me $\{times\}\`
13541354
1355-
<button> {msg->React.string} </button>
1355+
<button> {text->React.string} </button>
13561356
}
13571357
}
13581358
`

src/common/CompilerManagerHook.res

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ type selected = {
215215
}
216216

217217
type ready = {
218+
code: string,
218219
versions: array<Semver.t>,
219220
selected: selected,
220221
targetLang: Lang.t,
@@ -277,13 +278,13 @@ let useCompilerManager = (
277278
ready.selected.instance->Compiler.setConfig(config)
278279
setState(_ => {
279280
let selected = {...ready.selected, config}
280-
Ready({...ready, selected})
281+
Compiling({...ready, selected}, (ready.targetLang, ready.code))
281282
})
282283
| _ => ()
283284
}
284285
| CompileCode(lang, code) =>
285286
switch state {
286-
| Ready(ready) => setState(_ => Compiling(ready, (lang, code)))
287+
| Ready(ready) => setState(_ => Compiling({...ready, code}, (lang, code)))
287288
| _ => ()
288289
}
289290
| SwitchLanguage({lang, code}) =>
@@ -432,6 +433,7 @@ let useCompilerManager = (
432433
->Belt.Option.getWithDefault(Version.defaultTargetLang)
433434

434435
setState(_ => Ready({
436+
code: "",
435437
selected,
436438
targetLang,
437439
versions,
@@ -477,6 +479,7 @@ let useCompilerManager = (
477479
}
478480

479481
setState(_ => Ready({
482+
code: ready.code,
480483
selected,
481484
targetLang: Version.defaultTargetLang,
482485
versions: ready.versions,

src/common/CompilerManagerHook.resi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ type selected = {
3535
}
3636

3737
type ready = {
38+
code: string,
3839
versions: array<Semver.t>,
3940
selected: selected,
4041
targetLang: Lang.t,

0 commit comments

Comments
 (0)