Refactor everything
[bloat] / renderer / model.go
1 package renderer
2
3 import (
4         "bloat/model"
5         "mastodon"
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         Statuses []*mastodon.Status
73         NextLink string
74         DarkMode bool
75 }
76
77 type AboutData struct {
78         *CommonData
79 }
80
81 type EmojiData struct {
82         *CommonData
83         Emojis []*mastodon.Emoji
84 }
85
86 type LikedByData struct {
87         *CommonData
88         Users    []*mastodon.Account
89         NextLink string
90 }
91
92 type RetweetedByData struct {
93         *CommonData
94         Users    []*mastodon.Account
95         NextLink string
96 }
97
98 type FollowingData struct {
99         *CommonData
100         Users    []*mastodon.Account
101         NextLink string
102 }
103
104 type FollowersData struct {
105         *CommonData
106         Users    []*mastodon.Account
107         NextLink string
108 }
109
110 type SearchData struct {
111         *CommonData
112         Q        string
113         Type     string
114         Users    []*mastodon.Account
115         Statuses []*mastodon.Status
116         NextLink string
117 }
118
119 type SettingsData struct {
120         *CommonData
121         Settings *model.Settings
122 }