Add combined ID class
[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|build-id sone=reply.sone|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==parts>
19                         <% parts|render|store key==parsedText text==true>
20                         <% parts|render length=core.preferences.charactersPerPost cut-off-length=core.preferences.postCutOffLength|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=parsedText> hidden<%/if>"><% parsedText></div>
23                         <div class="reply-text short-text<%if raw> hidden<%/if><%if shortText|match key=parsedText> hidden<%/if>"><% shortText></div>
24                         <%if !shortText|match value=parsedText><%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=parsedText><%if !raw><a class="shrink-reply-text hidden"><%= View.Post.ShowLess|l10n|html></a><%/if><%/if>
26                 </div>
27                 <%foreach parts part>
28                         <%if part.class.simpleName|match value==AlbumPart><!-- ← this is so ugly. -->
29                                 <% part.album.images.random|store key==image>
30                                 <div class="album images" style="zoom: 0.80;">
31                                         <%include include/viewAlbum.html album=part.album hideMoveButtons==true>
32                                 </div>
33                         <%/if>
34                 <%/foreach>
35                 <div class="reply-status-line status-line">
36                         <div class="time"><% reply.time|date format=="MMM d, yyyy, HH:mm:ss"></div>
37                         <span class='separator'>·</span>
38                         <div class="permalink permalink-author"><a href="sone://<%reply.sone.id|html>">[<%= View.Post.PermalinkAuthor|l10n|html>]</a></div>
39                         <%if ! originalText|match value=parsedText>
40                                 <span class='separator'>·</span>
41                                 <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>
42                         <%/if>
43                         <div class="likes<%if reply.likes.size|match value==0> hidden<%/if>">
44                                 <span class='separator'>·</span>
45                                 <span title="<% reply.likes.soneNames|html>">↑<span class="like-count"><% reply.likes.size></span></span>
46                         </div>
47                         <%ifnull ! currentSone>
48                                 <span class='separator'>·</span>
49                                 <form class="like like-reply<%if reply.liked> hidden<%/if>" action="like.html" method="post">
50                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
51                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
52                                         <input type="hidden" name="type" value="reply" />
53                                         <input type="hidden" name="reply" value="<% reply.id|html>" />
54                                         <button type="submit" value="1"><%= View.Post.LikeLink|l10n|html></button>
55                                 </form>
56                                 <form class="unlike unlike-reply<%if ! reply.liked> hidden<%/if>" action="unlike.html" method="post">
57                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
58                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
59                                         <input type="hidden" name="type" value="reply" />
60                                         <input type="hidden" name="reply" value="<% reply.id|html>" />
61                                         <button type="submit" value="1"><%= View.Post.UnlikeLink|l10n|html></button>
62                                 </form>
63                                 <%if !reply.sone.current>
64                                         <%ifnull !reply.sone.trust>
65                                                 <span class='separator'>·</span>
66                                                 <form class="trust reply-trust<%if reply.sone.trust.assigned> hidden<%/if>" action="trust.html" method="post">
67                                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
68                                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
69                                                         <input type="hidden" name="sone" value="<% reply.sone.id|html>" />
70                                                         <button type="submit" title="<%= View.Trust.Tooltip.Trust|l10n|html>">✓</button>
71                                                 </form>
72                                                 <form class="distrust reply-distrust<%if reply.sone.trust.assigned> hidden<%/if>" action="distrust.html" method="post">
73                                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
74                                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
75                                                         <input type="hidden" name="sone" value="<% reply.sone.id|html>" />
76                                                         <button type="submit" title="<%= View.Trust.Tooltip.Distrust|l10n|html>">✗</button>
77                                                 </form>
78                                                 <form class="untrust reply-untrust<%if !reply.sone.trust.assigned> hidden<%/if>" action="untrust.html" method="post">
79                                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
80                                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
81                                                         <input type="hidden" name="sone" value="<% reply.sone.id|html>" />
82                                                         <button type="submit" title="<%= View.Trust.Tooltip.Untrust|l10n|html>">↶</button>
83                                                 </form>
84                                         <%/if>
85                                 <%/if>
86                         <%/if>
87                         <%if reply.sone.local>
88                                 <span class='separator'>·</span>
89                                 <form class="delete delete-reply" action="deleteReply.html" method="post">
90                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
91                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
92                                         <input type="hidden" name="reply" value="<% reply.id|html>" />
93                                         <button type="submit"><%= View.Post.Reply.DeleteLink|l10n|html></button>
94                                 </form>
95                         <%/if>
96                 </div>
97         </div>
98 </div>