Use vendored dependencies
[bloat] / renderer / model.go
1 package renderer
2
3 import (
4         "bloat/mastodon"
5         "bloat/model"
6 )
7
8 type Context struct {
9         MaskNSFW       bool
10         FluorideMode   bool
11         ThreadInNewTab bool
12         DarkMode       bool
13         CSRFToken      string
14 }
15
16 type HeaderData struct {
17         Title             string
18         NotificationCount int
19         CustomCSS         string
20         CSRFToken         string
21 }
22
23 type NavbarData struct {
24         User              *mastodon.Account
25         NotificationCount int
26 }
27
28 type CommonData struct {
29         HeaderData *HeaderData
30         NavbarData *NavbarData
31 }
32
33 type ErrorData struct {
34         *CommonData
35         Error string
36 }
37
38 type HomePageData struct {
39         *CommonData
40 }
41
42 type SigninData struct {
43         *CommonData
44 }
45
46 type TimelineData struct {
47         *CommonData
48         Title       string
49         Statuses    []*mastodon.Status
50         NextLink    string
51         PrevLink    string
52         PostContext model.PostContext
53 }
54
55 type ThreadData struct {
56         *CommonData
57         Statuses    []*mastodon.Status
58         PostContext model.PostContext
59         ReplyMap    map[string][]mastodon.ReplyInfo
60 }
61
62 type NotificationData struct {
63         *CommonData
64         Notifications []*mastodon.Notification
65         NextLink      string
66         DarkMode      bool
67 }
68
69 type UserData struct {
70         *CommonData
71         User     *mastodon.Account
72         Type     string
73         Users    []*mastodon.Account
74         Statuses []*mastodon.Status
75         NextLink string
76         DarkMode bool
77 }
78
79 type UserSearchData struct {
80         *CommonData
81         User     *mastodon.Account
82         Q        string
83         Statuses []*mastodon.Status
84         NextLink string
85 }
86
87 type AboutData struct {
88         *CommonData
89 }
90
91 type EmojiData struct {
92         *CommonData
93         Emojis []*mastodon.Emoji
94 }
95
96 type LikedByData struct {
97         *CommonData
98         Users    []*mastodon.Account
99         NextLink string
100 }
101
102 type RetweetedByData struct {
103         *CommonData
104         Users    []*mastodon.Account
105         NextLink string
106 }
107
108 type SearchData struct {
109         *CommonData
110         Q        string
111         Type     string
112         Users    []*mastodon.Account
113         Statuses []*mastodon.Status
114         NextLink string
115 }
116
117 type SettingsData struct {
118         *CommonData
119         Settings *model.Settings
120 }