@@ -1334,6 +1334,56 @@ module InitialContent = {
13341334 }
13351335}
13361336
1337+ module App = {
1338+ @react.component
1339+ let make = () => {
1340+ let (count, setCount) = React.useState(() => 0)
1341+ let (username, setUsername) = React.useState(() => "Anonymous")
1342+
1343+ <div>
1344+ {React.string("Username: ")}
1345+ <input
1346+ type_="text"
1347+ value={username}
1348+ onChange={event => {
1349+ event->ReactEvent.Form.preventDefault
1350+ let eventTarget = event->ReactEvent.Form.target
1351+ let username = eventTarget["value"]
1352+ setUsername(_prev => username)
1353+ }}
1354+ />
1355+ <button
1356+ onClick={_evt => {
1357+ setCount(prev => prev + 1)
1358+ }}>
1359+ {React.string("Click me")}
1360+ </button>
1361+ <button onClick={_evt => setCount(_ => 0)}> {React.string("Reset")} </button>
1362+ <CounterMessage count username />
1363+ </div>
1364+ }
1365+ }
1366+ `
1367+
1368+ let since_11 = ` module CounterMessage = {
1369+ @react.component
1370+ let make = (~count, ~username=?) => {
1371+ let times = switch count {
1372+ | 1 => "once"
1373+ | 2 => "twice"
1374+ | n => Int.toString(n) ++ " times"
1375+ }
1376+
1377+ let name = switch username {
1378+ | Some("") => "Anonymous"
1379+ | Some(name) => name
1380+ | None => "Anonymous"
1381+ }
1382+
1383+ <div> {React.string(\` Hello \$\{ name\} , you clicked me \` ++ times)} </div>
1384+ }
1385+ }
1386+
13371387module App = {
13381388 @react.component
13391389 let make = () => {
@@ -1416,7 +1466,7 @@ let make = (~versions: array<string>) => {
14161466 | (None , _ ) =>
14171467 switch initialVersion {
14181468 | Some ({major : 10 , minor }) if minor >= 1 => InitialContent .since_10_1
1419- | Some ({major }) if major > 10 => InitialContent .since_10_1
1469+ | Some ({major }) if major > 10 => InitialContent .since_11
14201470 | _ => InitialContent .original
14211471 }
14221472 }
@@ -1666,16 +1716,14 @@ let make = (~versions: array<string>) => {
16661716 | Problems => "Problems"
16671717 | Settings => "Settings"
16681718 }
1669- let onMouseDown = evt => {
1719+ let onClick = evt => {
16701720 ReactEvent .Mouse .preventDefault (evt )
16711721 ReactEvent .Mouse .stopPropagation (evt )
16721722 setCurrentTab (_ => tab )
16731723 }
16741724 let active = currentTab === tab
1675- // For Safari iOS12
1676- let onClick = _ => ()
16771725 let className = makeTabClass (active )
1678- <button key = {Int .toString (i ) ++ ("-" ++ title )} onMouseDown onClick className disabled >
1726+ <button key = {Int .toString (i ) ++ ("-" ++ title )} onClick className disabled >
16791727 {React .string (title )}
16801728 </button >
16811729 })
0 commit comments