2019-12-13 20:08:26 +02:00
|
|
|
package renderer
|
|
|
|
|
|
|
|
import (
|
|
|
|
"mastodon"
|
2019-12-21 10:36:44 +02:00
|
|
|
"web/model"
|
2019-12-13 20:08:26 +02:00
|
|
|
)
|
|
|
|
|
2019-12-15 19:37:58 +02:00
|
|
|
type NavbarTemplateData struct {
|
|
|
|
NotificationCount int
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewNavbarTemplateData(notificationCount int) *NavbarTemplateData {
|
|
|
|
return &NavbarTemplateData{
|
|
|
|
NotificationCount: notificationCount,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-12-13 20:08:26 +02:00
|
|
|
type TimelinePageTemplateData struct {
|
2019-12-21 15:26:31 +02:00
|
|
|
Statuses []*mastodon.Status
|
|
|
|
HasNext bool
|
|
|
|
NextLink string
|
|
|
|
HasPrev bool
|
|
|
|
PrevLink string
|
|
|
|
PostContext model.PostContext
|
|
|
|
NavbarData *NavbarTemplateData
|
2019-12-13 20:08:26 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
func NewTimelinePageTemplateData(statuses []*mastodon.Status, hasNext bool, nextLink string, hasPrev bool,
|
2019-12-21 15:26:31 +02:00
|
|
|
prevLink string, postContext model.PostContext, navbarData *NavbarTemplateData) *TimelinePageTemplateData {
|
2019-12-13 20:08:26 +02:00
|
|
|
return &TimelinePageTemplateData{
|
2019-12-21 15:26:31 +02:00
|
|
|
Statuses: statuses,
|
|
|
|
HasNext: hasNext,
|
|
|
|
NextLink: nextLink,
|
|
|
|
HasPrev: hasPrev,
|
|
|
|
PrevLink: prevLink,
|
|
|
|
PostContext: postContext,
|
|
|
|
NavbarData: navbarData,
|
2019-12-13 20:08:26 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
type ThreadPageTemplateData struct {
|
2019-12-21 15:26:31 +02:00
|
|
|
Statuses []*mastodon.Status
|
|
|
|
PostContext model.PostContext
|
|
|
|
ReplyMap map[string][]mastodon.ReplyInfo
|
|
|
|
NavbarData *NavbarTemplateData
|
2019-12-13 20:08:26 +02:00
|
|
|
}
|
|
|
|
|
2019-12-21 15:26:31 +02:00
|
|
|
func NewThreadPageTemplateData(statuses []*mastodon.Status, postContext model.PostContext, replyMap map[string][]mastodon.ReplyInfo, navbarData *NavbarTemplateData) *ThreadPageTemplateData {
|
2019-12-13 20:08:26 +02:00
|
|
|
return &ThreadPageTemplateData{
|
2019-12-21 15:26:31 +02:00
|
|
|
Statuses: statuses,
|
|
|
|
PostContext: postContext,
|
|
|
|
ReplyMap: replyMap,
|
|
|
|
NavbarData: navbarData,
|
2019-12-15 19:37:58 +02: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 20:08:26 +02:00
|
|
|
}
|
|
|
|
}
|
2019-12-20 20:30:20 +02: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 07:48:48 +02:00
|
|
|
|
|
|
|
type AboutPageTemplateData struct {
|
|
|
|
NavbarData *NavbarTemplateData
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewAboutPageTemplateData(navbarData *NavbarTemplateData) *AboutPageTemplateData {
|
|
|
|
return &AboutPageTemplateData{
|
|
|
|
NavbarData: navbarData,
|
|
|
|
}
|
|
|
|
}
|
2019-12-22 20:10:42 +02:00
|
|
|
|
|
|
|
type EmojiPageTemplateData struct {
|
|
|
|
NavbarData *NavbarTemplateData
|
|
|
|
Emojis []*mastodon.Emoji
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewEmojiPageTemplateData(navbarData *NavbarTemplateData, emojis []*mastodon.Emoji) *EmojiPageTemplateData {
|
|
|
|
return &EmojiPageTemplateData{
|
|
|
|
NavbarData: navbarData,
|
|
|
|
Emojis: emojis,
|
|
|
|
}
|
|
|
|
}
|