aboutsummaryrefslogtreecommitdiff
path: root/renderer/model.go
blob: 25fa0c65f7e977fba663ece1402130643cc3af67 (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
package renderer

import (
	"bloat/model"
	"mastodon"
)

type Context struct {
	MaskNSFW       bool
	FluorideMode   bool
	ThreadInNewTab bool
	DarkMode       bool
	CSRFToken      string
}

type HeaderData struct {
	Title             string
	NotificationCount int
	CustomCSS         string
	CSRFToken         string
}

type NavbarData struct {
	User              *mastodon.Account
	NotificationCount int
}

type CommonData struct {
	HeaderData *HeaderData
	NavbarData *NavbarData
}

type ErrorData struct {
	*CommonData
	Error string
}

type HomePageData struct {
	*CommonData
}

type SigninData struct {
	*CommonData
}

type TimelineData struct {
	*CommonData
	Title       string
	Statuses    []*mastodon.Status
	HasNext     bool
	NextLink    string
	HasPrev     bool
	PrevLink    string
	PostContext model.PostContext
}

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

type NotificationData struct {
	*CommonData
	Notifications []*mastodon.Notification
	HasNext       bool
	NextLink      string
	DarkMode      bool
}

type UserData struct {
	*CommonData
	User     *mastodon.Account
	Statuses []*mastodon.Status
	HasNext  bool
	NextLink string
	DarkMode bool
}

type AboutData struct {
	*CommonData
}

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

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

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

type FollowingData struct {
	*CommonData
	Users    []*mastodon.Account
	HasNext  bool
	NextLink string
}

type FollowersData struct {
	*CommonData
	Users    []*mastodon.Account
	HasNext  bool
	NextLink string
}

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

type SettingsData struct {
	*CommonData
	Settings *model.Settings
}