blob: 3736bbfe944f7dea606d467dc5ec5bb0d11c59f6 (
plain)
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
|
module Types exposing (..)
import Http
import Time
type alias Model =
{ posts : Maybe (List Post)
, composeInputValue : String
, now : Time.Posix
}
type Msg
= NoOp
-- TIME
| SetNowPosix Time.Posix
-- POSTS
| GetPosts
| GotPosts (Result Http.Error (List Post))
| LikePost Post
| LikedPost (Result Http.Error Post)
-- COMPOSE POST
| ComposeInputChanged String
| ComposePost
| ComposedPost (Result Http.Error Post)
type alias Author =
{ id : String
, name : String
}
type alias Post =
{ id : String
, content : String
, author : Author
, createdAt : Time.Posix
, likes : Int
}
|