all repos

onasty @ 8ffca5c

a one-time notes service

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" ]
                ]
            ]
        ]
    }