type route = | Model(string) | FormBuilder | Home | NotFound; let routeToPath = route => switch (route) { | Model(modelId) => "/m/" ++ modelId | FormBuilder => "/form-builder" | Home => "/" | _ => "/" }; module Models = { let all = [| EAFunds.Interface.model, GlobalCatastrophe.Interface.model, Human.Interface.model, |]; let getById = id => E.A.getBy(all, r => r.id == id); }; 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 = () => {