Add separate “show more” and “show less” links.
[Sone.git] / src / main / resources / templates / include / viewReply.html
1 <div id="<% reply.id|html>" class="reply<%if reply.new> new<%/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         <div class="avatar">
7                 <img src="/WebOfTrust/GetIdenticon?identity=<% reply.sone.id|html>&amp;width=36&height=36" width="36" height="36" alt="Avatar Image" />
8         </div>
9         <div class="inner-part">
10                 <div>
11                         <div class="author profile-link"><a href="viewSone.html?sone=<% reply.sone.id|html>"><% reply.sone.niceName|html></a></div>
12                         <% reply.text|html|store key=originalText text=true>
13                         <% reply.text|parse sone=reply.sone|store key=parsedText text=true>
14                         <% reply.text|parse sone=reply.sone length=200|store key=shortText text=true>
15                         <div class="reply-text raw-text<%if !raw> hidden<%/if>"><% originalText></div>
16                         <div class="reply-text text<%if raw> hidden<%/if><%if !shortText|match key=parsedText> hidden<%/if>"><% parsedText></div>
17                         <div class="reply-text short-text<%if raw> hidden<%/if><%if shortText|match key=parsedText> hidden<%/if>"><% shortText></div>
18                         <%if !shortText|match key=parsedText><%if !raw><a class="expand-reply-text" href="viewPost.html?post=<% reply.post.id|html>&amp;raw=true"><%= View.Post.ShowMore|l10n|html></a><%/if><%/if>
19                         <%if !shortText|match key=parsedText><%if !raw><a class="shrink-reply-text hidden"><%= View.Post.ShowLess|l10n|html></a><%/if><%/if>
20                 </div>
21                 <div class="reply-status-line status-line">
22                         <div class="time"><% reply.time|date format="MMM d, yyyy, HH:mm:ss"></div>
23                         <span class='separator'>·</span>
24                         <div class="permalink permalink-author"><a href="sone://<%reply.sone.id|html>">[<%= View.Post.PermalinkAuthor|l10n|html>]</a></div>
25                         <%if ! originalText|match key=parsedText>
26                                 <span class='separator'>·</span>
27                                 <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>
28                         <%/if>
29                         <div class="likes<%if reply.likes.size|match value=0> hidden<%/if>">
30                                 <span class='separator'>·</span>
31                                 <span title="<% reply.likes.soneNames|html>">↑<span class="like-count"><% reply.likes.size></span></span>
32                         </div>
33                         <%ifnull ! currentSone>
34                                 <span class='separator'>·</span>
35                                 <form class="like like-reply<%if reply.liked> hidden<%/if>" action="like.html" method="post">
36                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
37                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
38                                         <input type="hidden" name="type" value="reply" />
39                                         <input type="hidden" name="reply" value="<% reply.id|html>" />
40                                         <button type="submit" value="1"><%= View.Post.LikeLink|l10n|html></button>
41                                 </form>
42                                 <form class="unlike unlike-reply<%if ! reply.liked> hidden<%/if>" action="unlike.html" method="post">
43                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
44                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
45                                         <input type="hidden" name="type" value="reply" />
46                                         <input type="hidden" name="reply" value="<% reply.id|html>" />
47                                         <button type="submit" value="1"><%= View.Post.UnlikeLink|l10n|html></button>
48                                 </form>
49                                 <%if !reply.sone.current>
50                                         <span class='separator'>·</span>
51                                         <form class="trust reply-trust<%if reply.sone.trust.assigned> hidden<%/if>" action="trust.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="sone" value="<% reply.sone.id|html>" />
55                                                 <button type="submit" title="<%= View.Trust.Tooltip.Trust|l10n|html>">✓</button>
56                                         </form>
57                                         <form class="distrust reply-distrust<%if reply.sone.trust.assigned> hidden<%/if>" action="distrust.html" method="post">
58                                                 <input type="hidden" name="formPassword" value="<% formPassword|html>" />
59                                                 <input type="hidden" name="returnPage" value="<% request.uri|html>" />
60                                                 <input type="hidden" name="sone" value="<% reply.sone.id|html>" />
61                                                 <button type="submit" title="<%= View.Trust.Tooltip.Distrust|l10n|html>">✗</button>
62                                         </form>
63                                         <form class="untrust reply-untrust<%if !reply.sone.trust.assigned> hidden<%/if>" action="untrust.html" method="post">
64                                                 <input type="hidden" name="formPassword" value="<% formPassword|html>" />
65                                                 <input type="hidden" name="returnPage" value="<% request.uri|html>" />
66                                                 <input type="hidden" name="sone" value="<% reply.sone.id|html>" />
67                                                 <button type="submit" title="<%= View.Trust.Tooltip.Untrust|l10n|html>">↶</button>
68                                         </form>
69                                 <%/if>
70                         <%/if>
71                         <%if reply.sone.local>
72                                 <span class='separator'>·</span>
73                                 <form class="delete delete-reply" action="deleteReply.html" method="post">
74                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
75                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
76                                         <input type="hidden" name="reply" value="<% reply.id|html>" />
77                                         <button type="submit"><%= View.Post.Reply.DeleteLink|l10n|html></button>
78                                 </form>
79                         <%/if>
80                 </div>
81         </div>
82 </div>