aboutsummaryrefslogtreecommitdiff
path: root/juick-www
diff options
context:
space:
mode:
authorGravatar Killy2017-11-07 05:14:57 +0300
committerGravatar Killy2017-11-07 05:14:57 +0300
commitd0d3ac3743204c33153ea2354b3d672f147a14c1 (patch)
treea8468270b5dcd70f41eff5d213eefd5d13adb15f /juick-www
parent351e160783c6fcc9c9becd7d176b6c676d5c7f49 (diff)
www: tag state accessible from web
Diffstat (limited to 'juick-www')
-rw-r--r--juick-www/src/main/java/com/juick/www/controllers/Messages.java25
-rw-r--r--juick-www/src/main/webapp/WEB-INF/views/index.html4
-rw-r--r--juick-www/src/main/webapp/WEB-INF/views/partial/tagcolumn.html33
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 %}