2019-12-13 18:08:26 +00:00
|
|
|
package renderer
|
|
|
|
|
|
|
|
import (
|
|
|
|
"mastodon"
|
2019-12-21 08:36:44 +00:00
|
|
|
"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 {
|
2019-12-25 04:30:21 +00:00
|
|
|
Title string
|
2019-12-21 13:26:31 +00:00
|
|
|
Statuses []*mastodon.Status
|
|
|
|
HasNext bool
|
|
|
|
NextLink string
|
|
|
|
HasPrev bool
|
|
|
|
PrevLink string
|
|
|
|
PostContext model.PostContext
|
|
|
|
NavbarData *NavbarTemplateData
|
2019-12-13 18:08:26 +00:00
|
|
|
}
|
|
|
|
|
2019-12-25 04:30:21 +00:00
|
|
|
func NewTimelinePageTemplateData(title string, statuses []*mastodon.Status, hasNext bool, nextLink string, hasPrev bool,
|
2019-12-21 13:26:31 +00:00
|
|
|
prevLink string, postContext model.PostContext, navbarData *NavbarTemplateData) *TimelinePageTemplateData {
|
2019-12-13 18:08:26 +00:00
|
|
|
return &TimelinePageTemplateData{
|
2019-12-25 04:30:21 +00:00
|
|
|
Title: title,
|
2019-12-21 13:26:31 +00:00
|
|
|
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 {
|
2019-12-21 13:26:31 +00:00
|
|
|
Statuses []*mastodon.Status
|
|
|
|
PostContext model.PostContext
|
|
|
|
ReplyMap map[string][]mastodon.ReplyInfo
|
|
|
|
NavbarData *NavbarTemplateData
|
2019-12-13 18:08:26 +00:00
|
|
|
}
|
|
|
|
|
2019-12-21 13:26:31 +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{
|
2019-12-21 13:26:31 +00:00
|
|
|
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
|
|
|
}
|
|
|
|
}
|
2019-12-20 18:30:20 +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,
|
|
|
|
}
|
|
|
|
}
|