Added Comments mixin

This commit is contained in:
Eduard Urbach 2018-10-29 11:56:45 +09:00
parent ecceb415ca
commit 8191ebaa70
3 changed files with 22 additions and 26 deletions

18
mixins/Comments.pixy Normal file
View File

@ -0,0 +1,18 @@
component Comments(parent arn.PostParent, user *arn.User)
.thread
.posts
each post in parent.Posts()
Postable(post.ToPostable(), user, "")
if user != nil
if parent.IsLocked()
footer.footer.mountable
p.text-center= "This " + strings.ToLower(reflect.TypeOf(parent).Elem().Name()) + " is locked."
else
NewPostArea(user, "Comment")
.buttons
if !parent.IsLocked()
button.mountable.action(data-action="createPost", data-trigger="click", data-parent-type=reflect.TypeOf(parent).Elem().Name(), data-parent-id=parent.GetID())
Icon("mail-reply")
span Reply

View File

@ -20,10 +20,5 @@ func Get(ctx *aero.Context) string {
} }
ctx.Data = getOpenGraph(ctx, track) ctx.Data = getOpenGraph(ctx, track)
return ctx.HTML(components.SoundTrackPage(track, user))
// Comments
posts := track.Posts()
arn.SortPostsLatestFirst(posts)
return ctx.HTML(components.SoundTrackPage(track, posts, user))
} }

View File

@ -1,4 +1,4 @@
component SoundTrackPage(track *arn.SoundTrack, posts []*arn.Post, user *arn.User) component SoundTrackPage(track *arn.SoundTrack, user *arn.User)
SoundTrackTabs(track, user) SoundTrackTabs(track, user)
.soundtrack-full-page .soundtrack-full-page
@ -55,27 +55,10 @@ component SoundTrackPage(track *arn.SoundTrack, posts []*arn.Post, user *arn.Use
.tags .tags
each tag in track.Tags each tag in track.Tags
a.tag(href="/soundtracks/tag/" + tag)= tag a.tag(href="/soundtracks/tag/" + tag)= tag
.widget.mountable .widget.mountable
h3.widget-title Comments h3.widget-title Comments
Comments(track, user)
.thread
.posts
each post in posts
Postable(post.ToPostable(), user, "")
if user != nil
if track.Locked
footer.footer.mountable
p.text-center This soundtrack is locked.
else
NewPostArea(user, "Comment")
.buttons
if !track.Locked
button.mountable.action(data-action="createPost", data-trigger="click", data-parent-type="SoundTrack", data-parent-id=track.ID)
Icon("mail-reply")
span Reply
.footer.mountable .footer.mountable
if track.EditedBy != "" if track.EditedBy != ""