aboutsummaryrefslogtreecommitdiff
path: root/renderer/model.go
blob: 2aa2f22b8d553cf29598e7a006367ca2db8dd96f (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
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
	NextLink    string
	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
	NextLink      string
	DarkMode      bool
}

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

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
}