diff --git a/mixins/PostableList.pixy b/mixins/PostableList.pixy index ce6f4c10..93855fcd 100644 --- a/mixins/PostableList.pixy +++ b/mixins/PostableList.pixy @@ -1,16 +1,18 @@ component PostableList(postables []arn.Postable) - h2.thread-title= len(postables), " latest posts by ", postables[0].Author().Nick .thread .posts each post in postables .post .post-author Avatar(post.Author()) + .post-content p!= aero.Markdown(post.Text()) + .post-toolbar .spacer .post-likes= len(post.Likes()) a.post-tool.post-permalink.ajax(href=post.Link(), title="Permalink") Icon("link") + a.post-link.side-note.ajax(href=post.Link())= post.Title() diff --git a/pages/profile/posts.go b/pages/profile/posts.go index ea60c93e..9f91239a 100644 --- a/pages/profile/posts.go +++ b/pages/profile/posts.go @@ -10,7 +10,7 @@ import ( const postLimit = 10 -// GetPostsbyUser shows all forum posts of a particular user. +// GetPostsByUser shows all forum posts of a particular user. func GetPostsByUser(ctx *aero.Context) string { nick := ctx.Get("nick") user, err := arn.GetUserByNick(nick) @@ -20,7 +20,7 @@ func GetPostsByUser(ctx *aero.Context) string { } posts := user.Posts() - arn.SortPostsLatestLast(posts) + arn.SortPostsLatestFirst(posts) var postables []arn.Postable @@ -31,11 +31,9 @@ func GetPostsByUser(ctx *aero.Context) string { postables = make([]arn.Postable, len(posts), len(posts)) for i, post := range posts { - postables[i] = arn.ToPostable(post) - } - return ctx.HTML(components.PostableList(postables)) + return ctx.HTML(components.LatestPosts(postables, user)) } diff --git a/pages/profile/posts.pixy b/pages/profile/posts.pixy new file mode 100644 index 00000000..5d18a568 --- /dev/null +++ b/pages/profile/posts.pixy @@ -0,0 +1,6 @@ +component LatestPosts(postables []arn.Postable, viewUser *arn.User) + if len(postables) > 0 + h2.thread-title= len(postables), " latest posts by ", postables[0].Author().Nick + PostableList(postables) + else + p= viewUser.Nick + " hasn't written any posts yet." \ No newline at end of file diff --git a/pages/profile/profile.go b/pages/profile/profile.go index 185d41a7..9e660b42 100644 --- a/pages/profile/profile.go +++ b/pages/profile/profile.go @@ -42,6 +42,7 @@ func Profile(ctx *aero.Context, viewUser *arn.User) string { } }, func() { posts = viewUser.Posts() + arn.SortPostsLatestFirst(posts) if len(posts) > maxPosts { posts = posts[:maxPosts]