bloat/renderer/model.go

173 lines
2.8 KiB
Go

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
AddReactionsFilter string
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 ListsData struct {
*CommonData
Lists []*mastodon.List
}
type ListData struct {
*CommonData
List *mastodon.List
Accounts []*mastodon.Account
Q string
SearchAccounts []*mastodon.Account
}
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 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 AboutInstanceData struct {
*CommonData
Instance *mastodon.Instance
Peers []string
}
type EmojiData struct {
*CommonData
Emojis []*mastodon.Emoji
}
type LikedByData struct {
*CommonData
Users []*mastodon.Account
NextLink string
}
//For Pleroma reactions
type ReactedByData struct {
*CommonData
Reactions []*mastodon.ReactionsPleroma
ReactionEmojis map[string]string
ID 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
}