Refector render structs
authorr <r@freesoftwareextremist.com>
Wed, 25 Dec 2019 14:13:59 +0000 (14:13 +0000)
committerr <r@freesoftwareextremist.com>
Wed, 25 Dec 2019 14:13:59 +0000 (14:13 +0000)
renderer/model.go
renderer/renderer.go
service/service.go

index be777f6e83552b87e92bda6c8c6050f11839f1a3..dfa46b1c0ecb9b351b45e3181584866988b6c98a 100644 (file)
@@ -5,19 +5,12 @@ import (
        "web/model"
 )
 
        "web/model"
 )
 
-type NavbarTemplateData struct {
+type NavbarData struct {
        User              *mastodon.Account
        NotificationCount int
 }
 
        User              *mastodon.Account
        NotificationCount int
 }
 
-func NewNavbarTemplateData(notificationCount int, user *mastodon.Account) *NavbarTemplateData {
-       return &NavbarTemplateData{
-               NotificationCount: notificationCount,
-               User:              user,
-       }
-}
-
-type TimelinePageTemplateData struct {
+type TimelineData struct {
        Title       string
        Statuses    []*mastodon.Status
        HasNext     bool
        Title       string
        Statuses    []*mastodon.Status
        HasNext     bool
@@ -25,91 +18,36 @@ type TimelinePageTemplateData struct {
        HasPrev     bool
        PrevLink    string
        PostContext model.PostContext
        HasPrev     bool
        PrevLink    string
        PostContext model.PostContext
-       NavbarData  *NavbarTemplateData
-}
-
-func NewTimelinePageTemplateData(title string, statuses []*mastodon.Status, hasNext bool, nextLink string, hasPrev bool,
-       prevLink string, postContext model.PostContext, navbarData *NavbarTemplateData) *TimelinePageTemplateData {
-       return &TimelinePageTemplateData{
-               Title:       title,
-               Statuses:    statuses,
-               HasNext:     hasNext,
-               NextLink:    nextLink,
-               HasPrev:     hasPrev,
-               PrevLink:    prevLink,
-               PostContext: postContext,
-               NavbarData:  navbarData,
-       }
+       NavbarData  *NavbarData
 }
 
 }
 
-type ThreadPageTemplateData struct {
+type ThreadData struct {
        Statuses    []*mastodon.Status
        PostContext model.PostContext
        ReplyMap    map[string][]mastodon.ReplyInfo
        Statuses    []*mastodon.Status
        PostContext model.PostContext
        ReplyMap    map[string][]mastodon.ReplyInfo
-       NavbarData  *NavbarTemplateData
+       NavbarData  *NavbarData
 }
 
 }
 
-func NewThreadPageTemplateData(statuses []*mastodon.Status, postContext model.PostContext, replyMap map[string][]mastodon.ReplyInfo, navbarData *NavbarTemplateData) *ThreadPageTemplateData {
-       return &ThreadPageTemplateData{
-               Statuses:    statuses,
-               PostContext: postContext,
-               ReplyMap:    replyMap,
-               NavbarData:  navbarData,
-       }
-}
-
-type NotificationPageTemplateData struct {
+type NotificationData struct {
        Notifications []*mastodon.Notification
        HasNext       bool
        NextLink      string
        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,
-       }
+       NavbarData    *NavbarData
 }
 
 }
 
-type UserPageTemplateData struct {
+type UserData struct {
        User       *mastodon.Account
        Statuses   []*mastodon.Status
        HasNext    bool
        NextLink   string
        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,
-       }
+       NavbarData *NavbarData
 }
 
 }
 
-type AboutPageTemplateData struct {
-       NavbarData *NavbarTemplateData
+type AboutData struct {
+       NavbarData *NavbarData
 }
 
 }
 
-func NewAboutPageTemplateData(navbarData *NavbarTemplateData) *AboutPageTemplateData {
-       return &AboutPageTemplateData{
-               NavbarData: navbarData,
-       }
-}
-
-type EmojiPageTemplateData struct {
-       NavbarData *NavbarTemplateData
+type EmojiData struct {
        Emojis     []*mastodon.Emoji
        Emojis     []*mastodon.Emoji
-}
-
-func NewEmojiPageTemplateData(navbarData *NavbarTemplateData, emojis []*mastodon.Emoji) *EmojiPageTemplateData {
-       return &EmojiPageTemplateData{
-               NavbarData: navbarData,
-               Emojis:     emojis,
-       }
+       NavbarData *NavbarData
 }
 }
index 4415b0b64585b38713a17dc6f7a8bec186b1763c..48c087912baf119ce7be3cb95efe821453669b5e 100644 (file)
@@ -15,12 +15,12 @@ type Renderer interface {
        RenderErrorPage(ctx context.Context, writer io.Writer, err error)
        RenderHomePage(ctx context.Context, writer io.Writer) (err error)
        RenderSigninPage(ctx context.Context, writer io.Writer) (err error)
        RenderErrorPage(ctx context.Context, writer io.Writer, err error)
        RenderHomePage(ctx context.Context, writer io.Writer) (err error)
        RenderSigninPage(ctx context.Context, writer io.Writer) (err error)
-       RenderTimelinePage(ctx context.Context, writer io.Writer, data *TimelinePageTemplateData) (err error)
-       RenderThreadPage(ctx context.Context, writer io.Writer, data *ThreadPageTemplateData) (err error)
-       RenderNotificationPage(ctx context.Context, writer io.Writer, data *NotificationPageTemplateData) (err error)
-       RenderUserPage(ctx context.Context, writer io.Writer, data *UserPageTemplateData) (err error)
-       RenderAboutPage(ctx context.Context, writer io.Writer, data *AboutPageTemplateData) (err error)
-       RenderEmojiPage(ctx context.Context, writer io.Writer, data *EmojiPageTemplateData) (err error)
+       RenderTimelinePage(ctx context.Context, writer io.Writer, data *TimelineData) (err error)
+       RenderThreadPage(ctx context.Context, writer io.Writer, data *ThreadData) (err error)
+       RenderNotificationPage(ctx context.Context, writer io.Writer, data *NotificationData) (err error)
+       RenderUserPage(ctx context.Context, writer io.Writer, data *UserData) (err error)
+       RenderAboutPage(ctx context.Context, writer io.Writer, data *AboutData) (err error)
+       RenderEmojiPage(ctx context.Context, writer io.Writer, data *EmojiData) (err error)
 }
 
 type renderer struct {
 }
 
 type renderer struct {
@@ -57,27 +57,27 @@ func (r *renderer) RenderSigninPage(ctx context.Context, writer io.Writer) (err
        return r.template.ExecuteTemplate(writer, "signin.tmpl", nil)
 }
 
        return r.template.ExecuteTemplate(writer, "signin.tmpl", nil)
 }
 
-func (r *renderer) RenderTimelinePage(ctx context.Context, writer io.Writer, data *TimelinePageTemplateData) (err error) {
+func (r *renderer) RenderTimelinePage(ctx context.Context, writer io.Writer, data *TimelineData) (err error) {
        return r.template.ExecuteTemplate(writer, "timeline.tmpl", data)
 }
 
        return r.template.ExecuteTemplate(writer, "timeline.tmpl", data)
 }
 
-func (r *renderer) RenderThreadPage(ctx context.Context, writer io.Writer, data *ThreadPageTemplateData) (err error) {
+func (r *renderer) RenderThreadPage(ctx context.Context, writer io.Writer, data *ThreadData) (err error) {
        return r.template.ExecuteTemplate(writer, "thread.tmpl", data)
 }
 
        return r.template.ExecuteTemplate(writer, "thread.tmpl", data)
 }
 
-func (r *renderer) RenderNotificationPage(ctx context.Context, writer io.Writer, data *NotificationPageTemplateData) (err error) {
+func (r *renderer) RenderNotificationPage(ctx context.Context, writer io.Writer, data *NotificationData) (err error) {
        return r.template.ExecuteTemplate(writer, "notification.tmpl", data)
 }
 
        return r.template.ExecuteTemplate(writer, "notification.tmpl", data)
 }
 
-func (r *renderer) RenderUserPage(ctx context.Context, writer io.Writer, data *UserPageTemplateData) (err error) {
+func (r *renderer) RenderUserPage(ctx context.Context, writer io.Writer, data *UserData) (err error) {
        return r.template.ExecuteTemplate(writer, "user.tmpl", data)
 }
 
        return r.template.ExecuteTemplate(writer, "user.tmpl", data)
 }
 
-func (r *renderer) RenderAboutPage(ctx context.Context, writer io.Writer, data *AboutPageTemplateData) (err error) {
+func (r *renderer) RenderAboutPage(ctx context.Context, writer io.Writer, data *AboutData) (err error) {
        return r.template.ExecuteTemplate(writer, "about.tmpl", data)
 }
 
        return r.template.ExecuteTemplate(writer, "about.tmpl", data)
 }
 
-func (r *renderer) RenderEmojiPage(ctx context.Context, writer io.Writer, data *EmojiPageTemplateData) (err error) {
+func (r *renderer) RenderEmojiPage(ctx context.Context, writer io.Writer, data *EmojiData) (err error) {
        return r.template.ExecuteTemplate(writer, "emoji.tmpl", data)
 }
 
        return r.template.ExecuteTemplate(writer, "emoji.tmpl", data)
 }
 
index ffd850c41928c644953f4f741de7484ed6ba91e3..c268b755870d5621359c23723b0b4d25ac0ce240 100644 (file)
@@ -277,7 +277,17 @@ func (svc *service) ServeTimelinePage(ctx context.Context, client io.Writer,
                return
        }
 
                return
        }
 
-       data := renderer.NewTimelinePageTemplateData(title, statuses, hasNext, nextLink, hasPrev, prevLink, postContext, navbarData)
+       data := &renderer.TimelineData{
+               Title:       title,
+               Statuses:    statuses,
+               HasNext:     hasNext,
+               NextLink:    nextLink,
+               HasPrev:     hasPrev,
+               PrevLink:    prevLink,
+               PostContext: postContext,
+               NavbarData:   navbarData,
+       }
+
        err = svc.renderer.RenderTimelinePage(ctx, client, data)
        if err != nil {
                return
        err = svc.renderer.RenderTimelinePage(ctx, client, data)
        if err != nil {
                return
@@ -344,7 +354,13 @@ func (svc *service) ServeThreadPage(ctx context.Context, client io.Writer, c *mo
                return
        }
 
                return
        }
 
-       data := renderer.NewThreadPageTemplateData(statuses, postContext, replyMap, navbarData)
+       data := &renderer.ThreadData{
+               Statuses:    statuses,
+               PostContext: postContext,
+               ReplyMap:    replyMap,
+               NavbarData:  navbarData,
+       }
+
        err = svc.renderer.RenderThreadPage(ctx, client, data)
        if err != nil {
                return
        err = svc.renderer.RenderThreadPage(ctx, client, data)
        if err != nil {
                return
@@ -398,7 +414,12 @@ func (svc *service) ServeNotificationPage(ctx context.Context, client io.Writer,
                return
        }
 
                return
        }
 
-       data := renderer.NewNotificationPageTemplateData(notifications, hasNext, nextLink, navbarData)
+       data := &renderer.NotificationData{
+               Notifications: notifications,
+               HasNext:       hasNext,
+               NextLink:      nextLink,
+               NavbarData:    navbarData,
+       }
        err = svc.renderer.RenderNotificationPage(ctx, client, data)
        if err != nil {
                return
        err = svc.renderer.RenderNotificationPage(ctx, client, data)
        if err != nil {
                return
@@ -437,7 +458,14 @@ func (svc *service) ServeUserPage(ctx context.Context, client io.Writer, c *mode
                return
        }
 
                return
        }
 
-       data := renderer.NewUserPageTemplateData(user, statuses, hasNext, nextLink, navbarData)
+       data := &renderer.UserData{
+               User:       user,
+               Statuses:   statuses,
+               HasNext:    hasNext,
+               NextLink:   nextLink,
+               NavbarData: navbarData,
+       }
+
        err = svc.renderer.RenderUserPage(ctx, client, data)
        if err != nil {
                return
        err = svc.renderer.RenderUserPage(ctx, client, data)
        if err != nil {
                return
@@ -452,7 +480,9 @@ func (svc *service) ServeAboutPage(ctx context.Context, client io.Writer, c *mod
                return
        }
 
                return
        }
 
-       data := renderer.NewAboutPageTemplateData(navbarData)
+       data := &renderer.AboutData{
+               NavbarData: navbarData,
+       }
        err = svc.renderer.RenderAboutPage(ctx, client, data)
        if err != nil {
                return
        err = svc.renderer.RenderAboutPage(ctx, client, data)
        if err != nil {
                return
@@ -472,7 +502,11 @@ func (svc *service) ServeEmojiPage(ctx context.Context, client io.Writer, c *mod
                return
        }
 
                return
        }
 
-       data := renderer.NewEmojiPageTemplateData(navbarData, emojis)
+       data := &renderer.EmojiData{
+               Emojis:     emojis,
+               NavbarData: navbarData,
+       }
+
        err = svc.renderer.RenderEmojiPage(ctx, client, data)
        if err != nil {
                return
        err = svc.renderer.RenderEmojiPage(ctx, client, data)
        if err != nil {
                return
@@ -481,7 +515,7 @@ func (svc *service) ServeEmojiPage(ctx context.Context, client io.Writer, c *mod
        return
 }
 
        return
 }
 
-func (svc *service) getNavbarTemplateData(ctx context.Context, client io.Writer, c *model.Client) (data *renderer.NavbarTemplateData, err error) {
+func (svc *service) getNavbarTemplateData(ctx context.Context, client io.Writer, c *model.Client) (data *renderer.NavbarData, err error) {
        notifications, err := c.GetNotifications(ctx, nil)
        if err != nil {
                return
        notifications, err := c.GetNotifications(ctx, nil)
        if err != nil {
                return
@@ -499,7 +533,10 @@ func (svc *service) getNavbarTemplateData(ctx context.Context, client io.Writer,
                return
        }
 
                return
        }
 
-       data = renderer.NewNavbarTemplateData(notificationCount, u)
+       data = &renderer.NavbarData{
+               User:              u,
+               NotificationCount: notificationCount,
+       }
 
        return
 }
 
        return
 }