type route = | DistBuilder | Home | NotFound; let routeToPath = route => switch (route) { | DistBuilder => "/dist-builder" | 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" |> R.ste} {"Dist Builder" |> R.ste}
; }; }; let fixedLength = r =>
r
; [@react.component] let make = () => { let url = ReasonReactRouter.useUrl(); let routing = switch (url.path) { | ["dist-builder"] => DistBuilder | [] => Home | _ => NotFound }; <> {switch (routing) { | DistBuilder => | Home => | _ => fixedLength({"Page is not found" |> R.ste}) }} ; };