module Pages.Joke exposing (..) import Common exposing (..) import Fetch exposing (..) import Html exposing (Html) import Ports import Task exposing (Task) import Http type Msg = BackToFront () | Init type alias Model = { joke : String } fetch : Task Http.Error Model fetch = Fetch.joke "Roberto" "Pescador" |> Task.map (\{ joke } -> { joke = joke }) update : GlobalModel -> Msg -> Model -> ( GlobalModel, Model, Cmd Msg ) update global msg model = case msg of BackToFront () -> ( global, model, navigateTo FrontRoute ) Init -> ( global, model, Cmd.none ) subscriptions : Model -> Sub Msg subscriptions _ = Ports.onSwipeLeft BackToFront view : Model -> Html Msg view { joke } = Html.div [] [ Html.h1 [] [ Html.text "A joke for you!" ] , Html.h2 [] [ Html.text joke ] , Html.text "Swipe left to go back to the front page" ]