module Pages.Cucklist exposing (Model, Msg, page) import Config.Colour as T exposing (..) import Config.Format as O exposing (..) import Config.Identity as I exposing (..) import Config.Response exposing (..) import Config.Viewport exposing (..) import Debate.Cuckery.Helpers exposing (..) import Effect exposing (Effect) import Element exposing (..) import Element.Border as D import Element.Font as F import Headers.Helpers exposing (headerMaker) import Headers.Pages.CuckList exposing (cuckListHeader) import Html.Attributes as H exposing (style) import Layouts import Page exposing (Page) import Route exposing (Route) import Shared import View exposing (View) page : Shared.Model -> Route () -> Page Model Msg page shared route = Page.new { init = init , update = update , subscriptions = subscriptions , view = view shared } |> Page.withLayout toLayout toLayout : Model -> Layouts.Layout Msg toLayout model = Layouts.Navbar {} -- INIT type alias Model = {} init : () -> ( Model, Effect Msg ) init () = ( {} , Effect.map (\_ -> NoOp) (Effect.sendCmd resetViewport) ) -- UPDATE type Msg = NoOp update : Msg -> Model -> ( Model, Effect Msg ) update msg model = case msg of NoOp -> ( model , Effect.none ) -- SUBSCRIPTIONS subscriptions : Model -> Sub Msg subscriptions model = Sub.none -- VIEW view : Shared.Model -> Model -> View Msg view shared model = { title = "debate (" ++ pageNames.pageCucks ++ ")" , attributes = [] , element = dodgersContainer shared.device } dodgersContainer : Device -> Element msg dodgersContainer device = topLevelContainer (dodgersList device) dodgersList : Device -> Element msg dodgersList device = column (case ( device.class, device.orientation ) of _ -> pageListDesktop ) <| List.concat [ List.map headerMaker [ cuckListHeader ] , (case ( device.class, device.orientation ) of ( Phone, Portrait ) -> List.map cuckMakerMobile ( Tablet, Portrait ) -> List.map cuckMakerMobile _ -> List.map cuckMaker ) cuckList ]