Add WoT identicons as avatars.
[Sone.git] / src / main / resources / templates / include / viewPost.html
index 5d44274..c5df1f0 100644 (file)
@@ -1,21 +1,93 @@
-<div class="post">
-       <div class="author"><a href="viewSone.html?sone=<% post.sone.id>"><% post.sone.niceName|html></a></div>
-       <div class="text"><% post.text|html></div>
-       <div class="time"><a href="viewPost.html?post=<% post.id>"><% post.time|date format="MMM d, yyyy, HH:mm:ss"></a></div>
-       <%if post.sone.isCurrent><div class="delete"><a href="deletePost.html?post=<% post.id>"><%= View.Post.DeleteLink|l10n|html></a></div><%/if>
-</div>
-<%foreach post.replies reply>
-       <div class="reply">
-               <div class="author"><a href="viewSone.html?sone=<% reply.sone.id>"><% reply.sone.niceName|html></a></div>
-               <div class="text"><% reply.text|html></div>
-               <div class="time"><% reply.time|date format="MMM d, yyyy, HH:mm:ss"></div>
+<div id="<% post.id|html>" class="post<%if loop.last> last<%/if>">
+       <div class="avatar">
+               <img src="/WoT/GetIdenticon?identity=<% post.sone.id|html>&amp;width=48&height=48" width="48" height="48" alt="Avatar Image" />
+       </div>
+       <div class="inner-part">
+       <div>
+               <div class="author profile-link"><a href="viewSone.html?sone=<% post.sone.id|html>"><% post.sone.niceName|html></a></div>
+               <div class="text"><% post.text|html></div>
+       </div>
+       <div class="status-line">
+               <div class="time"><a href="viewPost.html?post=<% post.id|html>"><% post.time|date format="MMM d, yyyy, HH:mm:ss"></a></div>
+               <div class="likes<%if post.likes.size|match value=0> hidden<%/if>"><span title="<% post.likes.soneNames|html>">⬆<span class="like-count"><% post.likes.size></span></span></div>
+               <%ifnull ! currentSone>
+                       <form class="like<%if post.liked> hidden<%/if>" action="like.html" method="post">
+                               <input type="hidden" name="formPassword" value="<% formPassword|html>" />
+                               <input type="hidden" name="returnPage" value="<% request.uri|html>" />
+                               <input type="hidden" name="type" value="post" />
+                               <input type="hidden" name="post" value="<% post.id|html>" />
+                               <button type="submit" value="1"><%= View.Post.LikeLink|l10n|html></button>
+                       </form>
+                       <form class="unlike<%if ! post.liked> hidden<%/if>" action="unlike.html" method="post">
+                               <input type="hidden" name="formPassword" value="<% formPassword|html>" />
+                               <input type="hidden" name="returnPage" value="<% request.uri|html>" />
+                               <input type="hidden" name="type" value="post" />
+                               <input type="hidden" name="post" value="<% post.id|html>" />
+                               <button type="submit" value="1"><%= View.Post.UnlikeLink|l10n|html></button>
+                       </form>
+               <%/if>
+               <%if post.sone.current>
+                       <form class="delete" action="deletePost.html" method="post">
+                               <input type="hidden" name="formPassword" value="<% formPassword|html>" />
+                               <input type="hidden" name="returnPage" value="<% request.uri|html>" />
+                               <input type="hidden" name="post" value="<% post.id|html>" />
+                               <button type="submit"><%= View.Post.DeleteLink|l10n|html></button>
+                       </form>
+               <%/if>
+       </div>
+       <div class="replies">
+               <%foreach post.replies reply>
+                       <div id="<% reply.id|html>" class="reply">
+                               <div class="avatar">
+                                       <img src="/WoT/GetIdenticon?identity=<% reply.sone.id|html>&amp;width=36&height=36" width="36" height="36" alt="Avatar Image" />
+                               </div>
+                               <div class="inner-part">
+                               <div>
+                                       <div class="author profile-link"><a href="viewSone.html?sone=<% reply.sone.id|html>"><% reply.sone.niceName|html></a></div>
+                                       <div class="text"><% reply.text|html></div>
+                               </div>
+                               <div class="status-line">
+                                       <div class="time"><% reply.time|date format="MMM d, yyyy, HH:mm:ss"></div>
+                                       <div class="likes<%if reply.likes.size|match value=0> hidden<%/if>"><span title="<% reply.likes.soneNames|html>">⬆<span class="like-count"><% reply.likes.size></span></span></div>
+                                       <%ifnull ! currentSone>
+                                               <form class="like<%if reply.liked> hidden<%/if>" action="like.html" method="post">
+                                                       <input type="hidden" name="formPassword" value="<% formPassword|html>" />
+                                                       <input type="hidden" name="returnPage" value="<% request.uri|html>" />
+                                                       <input type="hidden" name="type" value="reply" />
+                                                       <input type="hidden" name="reply" value="<% reply.id|html>" />
+                                                       <button type="submit" value="1"><%= View.Post.LikeLink|l10n|html></button>
+                                               </form>
+                                               <form class="unlike<%if ! reply.liked> hidden<%/if>" action="unlike.html" method="post">
+                                                       <input type="hidden" name="formPassword" value="<% formPassword|html>" />
+                                                       <input type="hidden" name="returnPage" value="<% request.uri|html>" />
+                                                       <input type="hidden" name="type" value="reply" />
+                                                       <input type="hidden" name="reply" value="<% reply.id|html>" />
+                                                       <button type="submit" value="1"><%= View.Post.UnlikeLink|l10n|html></button>
+                                               </form>
+                                       <%/if>
+                                       <%if reply.sone.current>
+                                               <form class="delete" action="deleteReply.html" method="post">
+                                                       <input type="hidden" name="formPassword" value="<% formPassword|html>" />
+                                                       <input type="hidden" name="returnPage" value="<% request.uri|html>" />
+                                                       <input type="hidden" name="reply" value="<% reply.id|html>" />
+                                                       <button type="submit"><%= View.Post.Reply.DeleteLink|l10n|html></button>
+                                               </form>
+                                       <%/if>
+                               </div>
+                               </div>
+                       </div>
+               <%/foreach>
+               <%ifnull ! currentSone>
+                       <div class="create-reply">
+                               <form method="post" action="createReply.html">
+                                       <input type="hidden" name="formPassword" value="<% formPassword|html>" />
+                                       <input type="hidden" name="returnPage" value="<% request.uri|html>" />
+                                       <input type="hidden" name="post" value="<% post.id|html>" />
+                                       <input type="text" class="reply-input" name="text" value="" />
+                                       <button type="submit"><%= View.Post.SendReply|l10n|html></button>
+                               </form>
+                       </div>
+               <%/if>
+       </div>
        </div>
-<%/foreach>
-<div class="create-reply">
-       <form method="post" action="createReply.html">
-               <input type="hidden" name="formPassword" value="<% formPassword|html>" />
-               <input type="hidden" name="post" value="<% post.id>" />
-               <input type="text" name="text" value="" />
-               <button type="submit"><%= View.Post.SendReply|l10n|html></button>
-       </form>
 </div>