aboutsummaryrefslogtreecommitdiff
path: root/renderer/model.go
blob: 385ac7c61021f1eb6ff51217865e0d7f7cdadb9b (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
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package renderer

import (
	"bloat/mastodon"
	"bloat/model"
)

type Context struct {
	HideAttachments  bool
	MaskNSFW         bool
	FluorideMode     bool
	ThreadInNewTab   bool
	DarkMode         bool
	CSRFToken        string
	UserID           string
	AntiDopamineMode bool
	UserCSS          string
	Referrer         string
}

type CommonData struct {
	Title           string
	CustomCSS       string
	CSRFToken       string
	Count           int
	RefreshInterval int
	Target          string
}

type NavData struct {
	CommonData  *CommonData
	User        *mastodon.Account
	PostContext model.PostContext
}

type ErrorData struct {
	*CommonData
	Err        string
	Retry      bool
	SessionErr bool
}

type HomePageData struct {
	*CommonData
}

type SigninData struct {
	*CommonData
}

type RootData struct {
	Title string
}

type TimelineData struct {
	*CommonData
	Title    string
	Type     string
	Instance string
	Statuses []*mastodon.Status
	NextLink string
	PrevLink string
}

type ThreadData struct {
	*CommonData
	Statuses    []*mastodon.Status
	PostContext model.PostContext
	ReplyMap    map[string][]mastodon.ReplyInfo
}

type QuickReplyData struct {
	*CommonData
	Ancestor    *mastodon.Status
	Status      *mastodon.Status
	PostContext model.PostContext
}

type StatusData struct {
	*CommonData
	Status    *mastodon.Status
}

type NotificationData struct {
	*CommonData
	Notifications []*mastodon.Notification
	UnreadCount   int
	ReadID        string
	NextLink      string
}

type UserData struct {
	*CommonData
	User      *mastodon.Account
	IsCurrent bool
	Type      string
	Users     []*mastodon.Account
	Statuses  []*mastodon.Status
	NextLink  string
}

type UserSearchData struct {
	*CommonData
	User     *mastodon.Account
	Q        string
	Statuses []*mastodon.Status
	NextLink string
}

type AboutData struct {
	*CommonData
}

type EmojiData struct {
	*CommonData
	Emojis []*mastodon.Emoji
}

type LikedByData struct {
	*CommonData
	Users    []*mastodon.Account
	NextLink string
}

type RetweetedByData struct {
	*CommonData
	Users    []*mastodon.Account
	NextLink string
}

type SearchData struct {
	*CommonData
	Q        string
	Type     string
	Users    []*mastodon.Account
	Statuses []*mastodon.Status
	NextLink string
}

type SettingsData struct {
	*CommonData
	Settings    *model.Settings
	PostFormats []model.PostFormat
}

type FiltersData struct {
	*CommonData
	Filters []*mastodon.Filter
}