From f68d72ae0eb2eb6c15cd225c1a3b9185aaa20e3f Mon Sep 17 00:00:00 2001 From: r Date: Sun, 15 Dec 2019 17:37:58 +0000 Subject: Add notification support --- renderer/model.go | 54 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 12 deletions(-) (limited to 'renderer/model.go') diff --git a/renderer/model.go b/renderer/model.go index 6f6acc4..4529386 100644 --- a/renderer/model.go +++ b/renderer/model.go @@ -4,22 +4,34 @@ import ( "mastodon" ) +type NavbarTemplateData struct { + NotificationCount int +} + +func NewNavbarTemplateData(notificationCount int) *NavbarTemplateData { + return &NavbarTemplateData{ + NotificationCount: notificationCount, + } +} + type TimelinePageTemplateData struct { - Statuses []*mastodon.Status - HasNext bool - NextLink string - HasPrev bool - PrevLink string + Statuses []*mastodon.Status + HasNext bool + NextLink string + HasPrev bool + PrevLink string + NavbarData *NavbarTemplateData } func NewTimelinePageTemplateData(statuses []*mastodon.Status, hasNext bool, nextLink string, hasPrev bool, - prevLink string) *TimelinePageTemplateData { + prevLink string, navbarData *NavbarTemplateData) *TimelinePageTemplateData { return &TimelinePageTemplateData{ - Statuses: statuses, - HasNext: hasNext, - NextLink: nextLink, - HasPrev: hasPrev, - PrevLink: prevLink, + Statuses: statuses, + HasNext: hasNext, + NextLink: nextLink, + HasPrev: hasPrev, + PrevLink: prevLink, + NavbarData: navbarData, } } @@ -29,14 +41,32 @@ type ThreadPageTemplateData struct { PostReply bool ReplyToID string ReplyContent string + NavbarData *NavbarTemplateData } -func NewThreadPageTemplateData(status *mastodon.Status, context *mastodon.Context, postReply bool, replyToID string, replyContent string) *ThreadPageTemplateData { +func NewThreadPageTemplateData(status *mastodon.Status, context *mastodon.Context, postReply bool, replyToID string, replyContent string, navbarData *NavbarTemplateData) *ThreadPageTemplateData { return &ThreadPageTemplateData{ Status: status, Context: context, PostReply: postReply, ReplyToID: replyToID, ReplyContent: replyContent, + NavbarData: navbarData, + } +} + +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, } } -- cgit v1.2.3