diff options
author | r <r@freesoftwareextremist.com> | 2020-02-18 22:15:37 +0000 |
---|---|---|
committer | r <r@freesoftwareextremist.com> | 2020-02-18 22:15:37 +0000 |
commit | fe31d4197b66cced9ca84779fac4fe69242d844b (patch) | |
tree | 775e8e76eddb3e86d4515369b9615d3c3a5bc762 /renderer | |
parent | 39a3bb7f3566ca0b7020d10abd5d5815096b49cb (diff) | |
download | bloat-fe31d4197b66cced9ca84779fac4fe69242d844b.tar.gz bloat-fe31d4197b66cced9ca84779fac4fe69242d844b.zip |
Add frame based navigation
Diffstat (limited to 'renderer')
-rw-r--r-- | renderer/model.go | 46 | ||||
-rw-r--r-- | renderer/renderer.go | 12 |
2 files changed, 30 insertions, 28 deletions
diff --git a/renderer/model.go b/renderer/model.go index 842dd71..45d3117 100644 --- a/renderer/model.go +++ b/renderer/model.go @@ -14,30 +14,17 @@ type Context struct { UserID string } -type HeaderData struct { - Title string - NotificationCount int - CustomCSS string - CSRFToken string -} - -type NavbarData struct { - User *mastodon.Account - NotificationCount int +type NavData struct { + CommonData *CommonData + User *mastodon.Account + PostContext model.PostContext } type CommonData struct { - HeaderData *HeaderData - NavbarData *NavbarData -} - -func (c CommonData) IsCurrentUser(id string) bool { - if c.NavbarData != nil && - c.NavbarData.User != nil && - c.NavbarData.User.ID == id { - return true - } - return false + Title string + CustomCSS string + CSRFToken string + AutoRefresh bool } type ErrorData struct { @@ -53,13 +40,16 @@ type SigninData struct { *CommonData } +type RootData struct { + Title string +} + type TimelineData struct { *CommonData - Title string - Statuses []*mastodon.Status - NextLink string - PrevLink string - PostContext model.PostContext + Title string + Statuses []*mastodon.Status + NextLink string + PrevLink string } type ThreadData struct { @@ -72,8 +62,9 @@ type ThreadData struct { type NotificationData struct { *CommonData Notifications []*mastodon.Notification + UnreadCount int + ReadID string NextLink string - DarkMode bool } type UserData struct { @@ -84,7 +75,6 @@ type UserData struct { Users []*mastodon.Account Statuses []*mastodon.Status NextLink string - DarkMode bool } type UserSearchData struct { diff --git a/renderer/renderer.go b/renderer/renderer.go index bd9ccd8..293a6c6 100644 --- a/renderer/renderer.go +++ b/renderer/renderer.go @@ -19,6 +19,8 @@ type TemplateData struct { type Renderer interface { RenderSigninPage(ctx *Context, writer io.Writer, data *SigninData) (err error) RenderErrorPage(ctx *Context, writer io.Writer, data *ErrorData) + RenderRootPage(ctx *Context, writer io.Writer, data *RootData) (err error) + RenderNavPage(ctx *Context, writer io.Writer, data *NavData) (err error) RenderTimelinePage(ctx *Context, writer io.Writer, data *TimelineData) (err error) RenderThreadPage(ctx *Context, writer io.Writer, data *ThreadData) (err error) RenderNotificationPage(ctx *Context, writer io.Writer, data *NotificationData) (err error) @@ -67,6 +69,16 @@ func (r *renderer) RenderErrorPage(ctx *Context, writer io.Writer, return } +func (r *renderer) RenderNavPage(ctx *Context, writer io.Writer, + data *NavData) (err error) { + return r.template.ExecuteTemplate(writer, "nav.tmpl", WithContext(data, ctx)) +} + +func (r *renderer) RenderRootPage(ctx *Context, writer io.Writer, + data *RootData) (err error) { + return r.template.ExecuteTemplate(writer, "root.tmpl", WithContext(data, ctx)) +} + func (r *renderer) RenderTimelinePage(ctx *Context, writer io.Writer, data *TimelineData) (err error) { return r.template.ExecuteTemplate(writer, "timeline.tmpl", WithContext(data, ctx)) |