type route = | Model(string) | Home | NotFound; let routeToPath = route => switch (route) { | Model(i) => "/m/" ++ i | Home => "/" | _ => "/" }; module Menu = { module Styles = { open Css; let menu = style([ position(`relative), marginTop(em(0.25)), marginBottom(em(0.25)), selector( "a", [ borderRadius(em(0.25)), display(`inlineBlock), backgroundColor(`hex("eee")), padding(em(1.)), cursor(`pointer), ], ), selector("a:hover", [backgroundColor(`hex("bfcad4"))]), selector("a:hover", [backgroundColor(`hex("bfcad4"))]), selector( "a:not(:first-child):not(:last-child)", [marginRight(em(0.25)), marginLeft(em(0.25))], ), ]); }; module Item = { [@react.component] let make = (~href, ~children) => { { e->ReactEvent.Synthetic.preventDefault; ReasonReactRouter.push(href); }}> children ; }; }; [@react.component] let make = () => {
{"Home" |> E.ste} {"EA Funds" |> E.ste} {"Global Catastrophe" |> E.ste}
; }; }; [@react.component] let make = () => { let url = ReasonReactRouter.useUrl(); let routing = switch (url.path) { | ["m", modelId] => Model(modelId) | [] => Home | _ => NotFound };
{switch (routing) { | Model("1") => | Model("2") => | Home =>
{"Welcome" |> E.ste}
| _ =>
{"Page is not found" |> E.ste}
}}
; };