onasty/web/src/Pages/Home_.elm(view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
module Pages.Home_ exposing (Model, Msg, page)
import Effect exposing (Effect)
import Html
import Html.Attributes as Attributes
import Html.Events
import Page exposing (Page)
import Route exposing (Route)
import Shared
import View exposing (View)
page : Shared.Model -> Route () -> Page Model Msg
page shared _ =
Page.new
{ init = init shared
, update = update
, subscriptions = subscriptions
, view = view shared
}
-- INIT
type alias Model =
{}
init : Shared.Model -> () -> ( Model, Effect Msg )
init _ () =
( {}, Effect.none )
-- UPDATE
type Msg
= LogOut
update : Msg -> Model -> ( Model, Effect Msg )
update msg model =
case msg of
LogOut ->
( model, Effect.logout )
-- SUBSCRIPTIONS
subscriptions : Model -> Sub Msg
subscriptions _ =
Sub.none
-- VIEW
view : Shared.Model -> Model -> View Msg
view _ _ =
{ title = "Homepage"
, body =
[ Html.div []
[ Html.p [] [ Html.text "Hello, world!" ]
, Html.p []
[ Html.a
[ Attributes.href "/profile/me" ]
[ Html.text "/profile/me - fetches authorized data" ]
]
, Html.p []
[ Html.button
[ Html.Events.onClick LogOut ]
[ Html.text "Logout" ]
]
]
]
}
|