Show loading animation while loading elements
[Sone.git] / src / main / resources / templates / include / viewReply.html
1 <div id="reply-<% reply.id|html>" class="reply<%if !reply.sone.local><%if reply.new> new<%/if><%/if>">
2         <a name="reply-<% reply.id|html>"></a>
3         <div class="reply-time hidden"><% reply.time|html></div>
4         <div class="reply-author hidden"><% reply.sone.id|html></div>
5         <div class="reply-author-local hidden"><% reply.sone.local></div>
6         <%include include/soneMenu.html class=="sone-reply-menu" sone=reply.sone>
7         <div class="avatar reply-avatar">
8                 <%ifnull !reply.sone.profile.avatar>
9                         <% reply.sone.profile.avatar|image-link max-width==36 max-height==36 mode==enlarge title=="Avatar Image">
10                 <%else>
11                         <img src="/WebOfTrust/GetIdenticon?identity=<% reply.sone.id|html>&amp;width=72&height=72" width="36" height="36" alt="Avatar Image" />
12                 <%/if>
13         </div>
14         <div class="inner-part">
15                 <div>
16                         <div class="author profile-link"><a href="viewSone.html?sone=<% reply.sone.id|html>"><% reply.sone.niceName|html></a></div>
17                         <% reply.text|html|store key==originalText text==true>
18                         <% reply.text|parse sone=reply.sone|store key==parsedText>
19                         <% parsedText|render|store key==renderedText text==true>
20                         <% parsedText|shorten length=core.preferences.charactersPerPost cut-off-length=core.preferences.postCutOffLength|render|store key==shortText text==true>
21                         <div class="reply-text raw-text<%if !raw> hidden<%/if>"><% originalText></div>
22                         <div class="reply-text text<%if raw> hidden<%/if><%if !shortText|match key=renderedText> hidden<%/if>"><% renderedText></div>
23                         <div class="reply-text short-text<%if raw> hidden<%/if><%if shortText|match key=renderedText> hidden<%/if>"><% shortText></div>
24                         <%if !shortText|match value=renderedText><%if !raw><a class="expand-reply-text" href="viewPost.html?post=<% reply.postId|html>&amp;raw=true"><%= View.Post.ShowMore|l10n|html></a><%/if><%/if>
25                         <%if !shortText|match value=renderedText><%if !raw><a class="shrink-reply-text hidden"><%= View.Post.ShowLess|l10n|html></a><%/if><%/if>
26                         <% parsedText|linked-elements|store key==linkedElements>
27                         <% foreach linkedElements linkedElement>
28                                 <% first>
29                                         <div class="linked-elements">
30                                 <%/first>
31                                 <% linkedElement|render-linked-element>
32                                 <% last>
33                                         </div>
34                                 <%/last>
35                         <%/foreach>
36                 </div>
37                 <div class="reply-status-line status-line">
38                         <div class="time"><% reply.time|date format=="MMM d, yyyy, HH:mm:ss"></div>
39                         <span class='separator'>·</span>
40                         <div class="permalink permalink-author"><a href="sone://<%reply.sone.id|html>">[<%= View.Post.PermalinkAuthor|l10n|html>]</a></div>
41                         <%if ! originalText|match value=renderedText>
42                                 <span class='separator'>·</span>
43                                 <div class="show-reply-source"><a href="viewPost.html?post=<% post.id|html>&amp;raw=<%if raw>false<%else>true<%/if>"><%= View.Post.ShowSource|l10n|html></a></div>
44                         <%/if>
45                         <div class="likes<%if reply.likes.size|match value==0> hidden<%/if>">
46                                 <span class='separator'>·</span>
47                                 <span title="<% reply.likes.soneNames|html>">↑<span class="like-count"><% reply.likes.size></span></span>
48                         </div>
49                         <%ifnull ! currentSone>
50                                 <span class='separator'>·</span>
51                                 <form class="like like-reply<%if reply.liked> hidden<%/if>" action="like.html" method="post">
52                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
53                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
54                                         <input type="hidden" name="type" value="reply" />
55                                         <input type="hidden" name="reply" value="<% reply.id|html>" />
56                                         <button type="submit" value="1"><%= View.Post.LikeLink|l10n|html></button>
57                                 </form>
58                                 <form class="unlike unlike-reply<%if ! reply.liked> hidden<%/if>" action="unlike.html" method="post">
59                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
60                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
61                                         <input type="hidden" name="type" value="reply" />
62                                         <input type="hidden" name="reply" value="<% reply.id|html>" />
63                                         <button type="submit" value="1"><%= View.Post.UnlikeLink|l10n|html></button>
64                                 </form>
65                                 <%if !reply.sone.current>
66                                         <%ifnull !reply.sone.trust>
67                                                 <span class='separator'>·</span>
68                                                 <form class="trust reply-trust<%if reply.sone.trust.assigned> hidden<%/if>" action="trust.html" method="post">
69                                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
70                                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
71                                                         <input type="hidden" name="sone" value="<% reply.sone.id|html>" />
72                                                         <button type="submit" title="<%= View.Trust.Tooltip.Trust|l10n|html>">✓</button>
73                                                 </form>
74                                                 <form class="distrust reply-distrust<%if reply.sone.trust.assigned> hidden<%/if>" action="distrust.html" method="post">
75                                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
76                                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
77                                                         <input type="hidden" name="sone" value="<% reply.sone.id|html>" />
78                                                         <button type="submit" title="<%= View.Trust.Tooltip.Distrust|l10n|html>">✗</button>
79                                                 </form>
80                                                 <form class="untrust reply-untrust<%if !reply.sone.trust.assigned> hidden<%/if>" action="untrust.html" method="post">
81                                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
82                                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
83                                                         <input type="hidden" name="sone" value="<% reply.sone.id|html>" />
84                                                         <button type="submit" title="<%= View.Trust.Tooltip.Untrust|l10n|html>">↶</button>
85                                                 </form>
86                                         <%/if>
87                                 <%/if>
88                         <%/if>
89                         <%if reply.sone.local>
90                                 <span class='separator'>·</span>
91                                 <form class="delete delete-reply" action="deleteReply.html" method="post">
92                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
93                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
94                                         <input type="hidden" name="reply" value="<% reply.id|html>" />
95                                         <button type="submit"><%= View.Post.Reply.DeleteLink|l10n|html></button>
96                                 </form>
97                         <%/if>
98                 </div>
99         </div>
100 </div>