Only show the album image
[Sone.git] / src / main / resources / templates / include / viewPost.html
1 <div id="post-<% post.id|html>" class="post<%if loop.last> last<%/if><%if !post.sone.local><%if post.new> new<%/if><%/if>">
2         <a name="post-<% post.id|html>"></a>
3         <div class="post-time hidden"><% post.time|html></div>
4         <div class="post-author hidden"><% post.sone.id|html></div>
5         <div class="post-author-local hidden"><% post.sone.local></div>
6         <%include include/soneMenu.html class=="sone-post-menu" sone=post.sone>
7         <div class="avatar post-avatar" >
8                 <%if post.loaded>
9                         <%ifnull !post.sone.profile.avatar>
10                                 <%post.sone.profile.avatar|build-id sone=post.sone|image-link max-width==48 max-height==48 mode==enlarge title=="Avatar Image">
11                         <%else>
12                                 <img src="/WebOfTrust/GetIdenticon?identity=<% post.sone.id|html>&amp;width=96&amp;height=96" width="48" height="48" alt="Avatar Image" />
13                         <%/if>
14                 <%else>
15                         <img src="images/sone-avatar.png" width="48" height="48" alt="Avatar Image" />
16                 <%/if>
17         </div>
18         <div class="inner-part">
19                 <div<%if !post.loaded> class="hidden"<%/if>>
20                         <div class="author profile-link"><a href="viewSone.html?sone=<% post.sone.id|html>"><% post.sone.niceName|html></a></div>
21                         <%if post.recipientId.present>
22                                 <span class="recipient-to">→</span>
23                                 <%if !post.recipient.present>
24                                         <div class="recipient profile-link"><a href="viewSone.html?sone=<% post.recipientId.get|html>"><%= View.Post.UnknownAuthor|l10n|html></a></div>
25                                 <%else>
26                                         <div class="recipient profile-link"><a href="viewSone.html?sone=<% post.recipientId.get|html>"><% post.recipient.get.niceName|html></a></div>
27                                 <%/if>
28                         <%/if>
29                         <% post.text|html|store key==originalText text==true>
30                         <% post.text|parse sone=post.sone|store key==parts>
31                         <% parts|render|store key==parsedText text==true>
32                         <% parts|render length=core.preferences.charactersPerPost cut-off-length=core.preferences.postCutOffLength|store key==shortText text==true>
33                         <div class="post-text raw-text<%if !raw> hidden<%/if>"><% originalText></div>
34                         <div class="post-text text<%if raw> hidden<%/if><%if !shortText|match key=parsedText> hidden<%/if>"><% parsedText></div>
35                         <div class="post-text short-text<%if raw> hidden<%/if><%if shortText|match key=parsedText> hidden<%/if>"><% shortText></div>
36                         <%if !shortText|match value=parsedText><%if !raw><a class="expand-post-text" href="viewPost.html?post=<% post.id|html>&amp;raw=true"><%= View.Post.ShowMore|l10n|html></a><%/if><%/if>
37                         <%if !shortText|match value=parsedText><%if !raw><a class="shrink-post-text hidden"><%= View.Post.ShowLess|l10n|html></a><%/if><%/if>
38                 </div>
39                 <%foreach parts part>
40                         <%if part.class.simpleName|match value==AlbumPart><!-- ← this is so ugly. -->
41                                 <div class="linked-album">
42                                         <div class="linked-image">
43                                                 <div class="image-left">
44                                                         <div class="image">
45                                                                 <a href="imageBrowser.html?album=<% part.album.id|html>"><% part.album.albumImage|image-link max-width==160 max-height==90 mode==enlarge title=part.album.title></a>
46                                                         </div>
47                                                 </div>
48                                                 <div class="about-image">
49                                                         <div class="title"><% part.album.title|html></div>
50                                                         <div><% =View.Post.LinkedAlbum.SizeAndAuthor|l10n 0=part.album.sone.niceName 1=part.album.images.size|html|replace needle=="[link]" replacement=='<a href="viewSone.html?sone=<sone-id>">'|replace needle=='[/link]' replacement=='</a>'|replace needle=='<sone-id>' replacement=part.album.sone.id></div>
51                                                         <div class="description"><% part.album.description|parse sone=part.album.sone|render></div>
52                                                 </div>
53                                         </div>
54                                 </div>
55                         <%/if>
56                 <%/foreach>
57                 <div class="post-status-line status-line<%if !post.loaded> hidden<%/if>">
58                         <div class="bookmarks">
59                                 <form class="unbookmark<%if !post.bookmarked> hidden<%/if>" action="unbookmark.html" method="post">
60                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
61                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
62                                         <input type="hidden" name="post" value="<% post.id|html>" />
63                                         <button type="submit" title="<%= View.Post.Bookmarks.PostIsBookmarked|l10n|html>">★</button>
64                                 </form>
65                                 <form class="bookmark<%if post.bookmarked> hidden<%/if>" action="bookmark.html" method="post">
66                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
67                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
68                                         <input type="hidden" name="post" value="<% post.id|html>" />
69                                         <button type="submit" title="<%= View.Post.Bookmarks.PostIsNotBookmarked|l10n|html>">☆</button>
70                                 </form>
71                         </div>
72                         <span class='separator'>·</span>
73                         <div class="time"><a href="viewPost.html?post=<% post.id|html>"><% post.time|date format=="MMM d, yyyy, HH:mm:ss"></a></div>
74                         <span class='separator'>·</span>
75                         <div class="permalink permalink-post"><a href="post://<%post.id|html>">[<%= View.Post.Permalink|l10n|html>]</a></div>
76                         <span class='separator'>·</span>
77                         <div class="permalink permalink-author"><a href="sone://<%post.sone.id|html>">[<%= View.Post.PermalinkAuthor|l10n|html>]</a></div>
78                         <%if ! originalText|match value=parsedText>
79                                 <span class='separator'>·</span>
80                                 <div class="show-source"><a href="viewPost.html?post=<% post.id|html>&amp;raw=<%if raw>false<%else>true<%/if>"><%= View.Post.ShowSource|l10n|html></a></div>
81                         <%/if>
82                         <div class="likes<%if post.likes.size|match value==0> hidden<%/if>">
83                                 <span class='separator'>·</span>
84                                 <span title="<% post.likes.soneNames|html>">↑<span class="like-count"><% post.likes.size></span></span>
85                         </div>
86                         <%ifnull ! currentSone>
87                                 <span class='separator'>·</span>
88                                 <form class="like like-post<%if post.liked> hidden<%/if>" action="like.html" method="post">
89                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
90                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
91                                         <input type="hidden" name="type" value="post" />
92                                         <input type="hidden" name="post" value="<% post.id|html>" />
93                                         <button type="submit" value="1"><%= View.Post.LikeLink|l10n|html></button>
94                                 </form>
95                                 <form class="unlike unlike-post<%if ! post.liked> hidden<%/if>" action="unlike.html" method="post">
96                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
97                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
98                                         <input type="hidden" name="type" value="post" />
99                                         <input type="hidden" name="post" value="<% post.id|html>" />
100                                         <button type="submit" value="1"><%= View.Post.UnlikeLink|l10n|html></button>
101                                 </form>
102                                 <%if !post.sone.current>
103                                         <%ifnull !post.sone.trust>
104                                                 <span class='separator'>·</span>
105                                                 <form class="trust post-trust<%if post.sone.trust.assigned> hidden<%/if>" action="trust.html" method="post">
106                                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
107                                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
108                                                         <input type="hidden" name="sone" value="<% post.sone.id|html>" />
109                                                         <button type="submit" title="<%= View.Trust.Tooltip.Trust|l10n|html>">✓</button>
110                                                 </form>
111                                                 <form class="distrust post-distrust<%if post.sone.trust.assigned> hidden<%/if>" action="distrust.html" method="post">
112                                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
113                                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
114                                                         <input type="hidden" name="sone" value="<% post.sone.id|html>" />
115                                                         <button type="submit" title="<%= View.Trust.Tooltip.Distrust|l10n|html>">✗</button>
116                                                 </form>
117                                                 <form class="untrust post-untrust<%if !post.sone.trust.assigned> hidden<%/if>" action="untrust.html" method="post">
118                                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
119                                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
120                                                         <input type="hidden" name="sone" value="<% post.sone.id|html>" />
121                                                         <button type="submit" title="<%= View.Trust.Tooltip.Untrust|l10n|html>">↶</button>
122                                                 </form>
123                                         <%/if>
124                                 <%/if>
125                         <%/if>
126                         <%if post.sone.local>
127                                 <span class='separator'>·</span>
128                                 <form class="delete delete-post" action="deletePost.html" method="post">
129                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
130                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
131                                         <input type="hidden" name="post" value="<% post.id|html>" />
132                                         <button type="submit"><%= View.Post.DeleteLink|l10n|html></button>
133                                 </form>
134                         <%/if>
135                 </div>
136                 <div<%if post.loaded> class="hidden"<%/if>>
137                         <%= View.Post.NotDownloaded|l10n|html>
138                 </div>
139                 <div class="replies">
140                         <%foreach post.replies reply>
141                                 <%include include/viewReply.html>
142                         <%/foreach>
143                         <%ifnull ! currentSone>
144                                 <div class="create-reply">
145                                         <form method="post" action="createReply.html">
146                                                 <input type="hidden" name="formPassword" value="<% formPassword|html>" />
147                                                 <input type="hidden" name="returnPage" value="<% request.uri|html>" />
148                                                 <input type="hidden" name="post" value="<% post.id|html>" />
149                                                 <div class="sender">
150                                                         <select name="sender" title="<%= View.UpdateStatus.Text.ChooseSenderIdentity|l10n|html>">
151                                                                 <%foreach localSones localSone|sort>
152                                                                         <option value="<% localSone.id|html>"<%if localSone.current> selected="selected"<%/if>><% localSone.niceName|html></option>
153                                                                 <%/foreach>
154                                                         </select>
155                                                 </div>
156                                                 <div class="select-sender"><button type="button" title="<%= View.UpdateStatus.Text.ChooseSenderIdentity|l10n|html>">+</button></div>
157                                                 <textarea class="rip-out reply-input" name="text"></textarea>
158                                                 <button type="submit"><%= View.Post.SendReply|l10n|html></button>
159                                         </form>
160                                 </div>
161                         <%/if>
162                 </div>
163         </div>
164 </div>