bloat/renderer/model.go

114 lines
2.9 KiB
Go
Raw Normal View History

2019-12-13 18:08:26 +00:00
package renderer
import (
"mastodon"
"web/model"
2019-12-13 18:08:26 +00:00
)
2019-12-15 17:37:58 +00:00
type NavbarTemplateData struct {
2019-12-24 14:55:05 +00:00
User *mastodon.Account
2019-12-15 17:37:58 +00:00
NotificationCount int
}
2019-12-24 14:55:05 +00:00
func NewNavbarTemplateData(notificationCount int, user *mastodon.Account) *NavbarTemplateData {
2019-12-15 17:37:58 +00:00
return &NavbarTemplateData{
NotificationCount: notificationCount,
2019-12-24 14:55:05 +00:00
User: user,
2019-12-15 17:37:58 +00:00
}
}
2019-12-13 18:08:26 +00:00
type TimelinePageTemplateData struct {
Statuses []*mastodon.Status
HasNext bool
NextLink string
HasPrev bool
PrevLink string
PostContext model.PostContext
NavbarData *NavbarTemplateData
2019-12-13 18:08:26 +00:00
}
func NewTimelinePageTemplateData(statuses []*mastodon.Status, hasNext bool, nextLink string, hasPrev bool,
prevLink string, postContext model.PostContext, navbarData *NavbarTemplateData) *TimelinePageTemplateData {
2019-12-13 18:08:26 +00:00
return &TimelinePageTemplateData{
Statuses: statuses,
HasNext: hasNext,
NextLink: nextLink,
HasPrev: hasPrev,
PrevLink: prevLink,
PostContext: postContext,
NavbarData: navbarData,
2019-12-13 18:08:26 +00:00
}
}
type ThreadPageTemplateData struct {
Statuses []*mastodon.Status
PostContext model.PostContext
ReplyMap map[string][]mastodon.ReplyInfo
NavbarData *NavbarTemplateData
2019-12-13 18:08:26 +00:00
}
func NewThreadPageTemplateData(statuses []*mastodon.Status, postContext model.PostContext, replyMap map[string][]mastodon.ReplyInfo, navbarData *NavbarTemplateData) *ThreadPageTemplateData {
2019-12-13 18:08:26 +00:00
return &ThreadPageTemplateData{
Statuses: statuses,
PostContext: postContext,
ReplyMap: replyMap,
NavbarData: navbarData,
2019-12-15 17:37:58 +00:00
}
}
type NotificationPageTemplateData struct {
Notifications []*mastodon.Notification
HasNext bool
NextLink string
NavbarData *NavbarTemplateData
}
func NewNotificationPageTemplateData(notifications []*mastodon.Notification, hasNext bool, nextLink string, navbarData *NavbarTemplateData) *NotificationPageTemplateData {
return &NotificationPageTemplateData{
Notifications: notifications,
HasNext: hasNext,
NextLink: nextLink,
NavbarData: navbarData,
2019-12-13 18:08:26 +00:00
}
}
type UserPageTemplateData struct {
User *mastodon.Account
Statuses []*mastodon.Status
HasNext bool
NextLink string
NavbarData *NavbarTemplateData
}
func NewUserPageTemplateData(user *mastodon.Account, statuses []*mastodon.Status, hasNext bool, nextLink string, navbarData *NavbarTemplateData) *UserPageTemplateData {
return &UserPageTemplateData{
User: user,
Statuses: statuses,
HasNext: hasNext,
NextLink: nextLink,
NavbarData: navbarData,
}
}
2019-12-21 05:48:48 +00:00
type AboutPageTemplateData struct {
NavbarData *NavbarTemplateData
}
func NewAboutPageTemplateData(navbarData *NavbarTemplateData) *AboutPageTemplateData {
return &AboutPageTemplateData{
NavbarData: navbarData,
}
}
2019-12-22 18:10:42 +00:00
type EmojiPageTemplateData struct {
NavbarData *NavbarTemplateData
Emojis []*mastodon.Emoji
}
func NewEmojiPageTemplateData(navbarData *NavbarTemplateData, emojis []*mastodon.Emoji) *EmojiPageTemplateData {
return &EmojiPageTemplateData{
NavbarData: navbarData,
Emojis: emojis,
}
}