132 lines
2.1 KiB
Go
132 lines
2.1 KiB
Go
package renderer
|
|
|
|
import (
|
|
"bloat/mastodon"
|
|
"bloat/model"
|
|
)
|
|
|
|
type Context struct {
|
|
MaskNSFW bool
|
|
FluorideMode bool
|
|
ThreadInNewTab bool
|
|
DarkMode bool
|
|
CSRFToken string
|
|
UserID 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
|
|
}
|
|
|
|
func (c CommonData) IsCurrentUser(id string) bool {
|
|
if c.NavbarData != nil &&
|
|
c.NavbarData.User != nil &&
|
|
c.NavbarData.User.ID == id {
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
|
|
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
|
|
IsCurrent bool
|
|
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
|
|
}
|