aboutsummaryrefslogtreecommitdiff
path: root/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'renderer')
-rw-r--r--renderer/model.go46
-rw-r--r--renderer/renderer.go12
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))