diff options
3 files changed, 50 insertions, 12 deletions
diff --git a/juick-www/src/main/java/com/juick/www/controllers/Messages.java b/juick-www/src/main/java/com/juick/www/controllers/Messages.java index 75e81b94..ce00433b 100644 --- a/juick-www/src/main/java/com/juick/www/controllers/Messages.java +++ b/juick-www/src/main/java/com/juick/www/controllers/Messages.java @@ -418,6 +418,15 @@ public class Messages { String title = "*" + StringEscapeUtils.escapeHtml4(paramTag.getName()); model.addAttribute("title", title); List<Integer> mids = messagesService.getTag(paramTag.TID, visitor_uid, before, (visitor_uid == 0) ? 40 : 20); + List<com.juick.Message> msgs = messagesService.getMessages(mids); + if (visitor.getUid() != 0) { + List<Integer> blUIDs = userService.checkBL( + visitor.getUid(), + msgs.stream().map(m -> m.getUser().getUid()).collect(Collectors.toList()) + ); + msgs.forEach(m -> m.ReadOnly |= blUIDs.contains(m.getUser().getUid())); + fillUserModel(model, visitor, visitor); + } String head = StringUtils.EMPTY; if (tagService.getTagNoIndex(paramTag.TID)) { @@ -427,21 +436,15 @@ public class Messages { } model.addAttribute("headers", head); model.addAttribute("visitor", visitor); - - List<com.juick.Message> msgs = messagesService.getMessages(mids); - - if (visitor.getUid() != 0) { - List<Integer> blUIDs = userService.checkBL(visitor.getUid(), - msgs.stream().map(m -> m.getUser().getUid()).collect(Collectors.toList())); - msgs.forEach(m -> m.ReadOnly |= blUIDs.contains(m.getUser().getUid())); - fillUserModel(model, visitor, visitor); - } + model.addAttribute("tag", paramTag); + model.addAttribute("title", title); model.addAttribute("msgs", msgs); model.addAttribute("tags", tagService.getPopularTags()); - model.addAttribute("headers", head); model.addAttribute("noindex", before > 0); - model.addAttribute("showAdv",before == 0 && visitor.getUid() == 0); + model.addAttribute("showAdv", before == 0 && visitor.getUid() == 0); model.addAttribute("isModerator", visitor.getUid() == 3694); + model.addAttribute("isSubscribed", tagService.isSubscribed(visitor, paramTag)); + model.addAttribute("isInBL", tagService.isInBL(visitor, paramTag)); if (mids.size() >= 20) { String nextpage = "/tag/" + URLEncoder.encode(paramTag.getName(), CharEncoding.UTF_8) + "?before=" + mids.get(mids.size() - 1); model.addAttribute("nextpage", nextpage); diff --git a/juick-www/src/main/webapp/WEB-INF/views/index.html b/juick-www/src/main/webapp/WEB-INF/views/index.html index 23d208b6..10539c44 100644 --- a/juick-www/src/main/webapp/WEB-INF/views/index.html +++ b/juick-www/src/main/webapp/WEB-INF/views/index.html @@ -12,7 +12,9 @@ {% endif %} {% endblock %} {% block "column" %} -{% if visitor.uid > 0 %} +{% if tag | default('') is not empty %} +{% include "views/partial/tagcolumn" %} +{% elseif visitor.uid > 0 %} {% include "views/partial/usercolumn" %} {% else %} {% include "views/partial/homecolumn" %} diff --git a/juick-www/src/main/webapp/WEB-INF/views/partial/tagcolumn.html b/juick-www/src/main/webapp/WEB-INF/views/partial/tagcolumn.html new file mode 100644 index 00000000..949a186a --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/partial/tagcolumn.html @@ -0,0 +1,33 @@ +<div id="ctitle"> + <a href="./">*{{ tag.name }}</a> +</div> +{% if visitor is not empty and visitor.uid > 0 %} +<ul class="toolbar"> + {% if isSubscribed %} + <li> + <a href="/post?body=U+%2A{{ tag.name }}" title="Подписан"> + <i data-icon="ei-check" data-size="s"></i>Subscribed + </a> + </li> + {% else %} + <li> + <a href="/post?body=S+%2A{{ tag.name }}" title="Подписаться"> + <i data-icon="ei-plus" data-size="s"></i>Subscribe + </a> + </li> + {% endif %} + {% if isInBL %} + <li> + <a href="/post?body=BL+%2A{{ tag.name }}" title="Разблокировать"> + <i data-icon="ei-close-o" data-size="s"></i>Unblock + </a> + </li> + {% else %} + <li> + <a href="/post?body=BL+%2A{{ tag.name }}" title="Заблокировать"> + <i data-icon="ei-close" data-size="s"></i>Block + </a> + </li> + {% endif %} +</ul> +{% endif %} |