rakutentech/r10/7.0.0

R10.Header

This create a generic header.

view : Header -> ViewArgs z msg route -> Element (ContextInternal z) msg
type LanguageSystem route
= LanguageInRoute
{ routeToPath : Language -> route -> String
, route : route
, routeToLanguage : route -> Language
}
| LanguageInModel
type Msg
= ToggleSideMenu
| ToggleUserMenu
| Logout
| Login
| CloseUserMenu
| KeyDown KeyPressed
| Click (List String)
| GotSession (Result Error SessionData)
type Session
= SessionNotRequired
| SessionNotRequested
| SessionFetching
| SessionSuccess SessionData
| SessionError Error
type alias SessionData =
{ email : String
, firstName : String
, lastName : String
}
type alias ViewArgs z msg route =
{ extraContent : List (Element (ContextInternal z) msg)
, extraContentRightSide : List (Element (ContextInternal z) msg)
, from : String
, msgMapper : Msg -> msg
, isTop : Bool
, isMobile : Bool
, onClick : String -> msg
, urlTop : String
, languageSystem : LanguageSystem route
, logoOnDark : Element (ContextInternal z) msg
, logoOnLight : Element (ContextInternal z) msg
, darkHeader : Bool
, theme : Theme
}
closeMenu : Header -> Header
decodeSession : Decoder SessionData
extraCss : String
getSession : Float -> Cmd Msg
init : Header
Header
-> ViewArgs z msg route
-> List (Element (ContextInternal z) msg)
urlLogin : Header -> ViewArgs z msg route -> Element (ContextInternal z) Msg
subscriptions : Header -> (Msg -> msg) -> List (Sub msg)
update : Msg -> Header -> Header
{ email : String
, firstName : String
, lastName : String
}
{ isActive : Bool
, onPress : msg
}
-> Element (ContextInternal z) msg
cssHamburger : String -> String

Styles for the Hamburger icon