aboutsummaryrefslogtreecommitdiff
path: root/juick-spring-www/src/main/webapp
diff options
context:
space:
mode:
Diffstat (limited to 'juick-spring-www/src/main/webapp')
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/layout/mainLayout.html29
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/layout/partial/footer.html37
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/layout/partial/navigation.html55
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/error.html16
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/help.html17
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/index.html21
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/login.html145
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/blog_messages.html54
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/blog_paginator.html3
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/blog_postform.html14
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/homecolumn.html4
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/settings_tabs.html7
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/tags.html3
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/thread_message.html57
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/pm_inbox.html45
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/pm_sent.html42
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/posted.html40
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_about.html31
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_auth-email.html20
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_main.html153
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_password.html28
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_result.html18
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/templates/views/thread.html17
-rw-r--r--juick-spring-www/src/main/webapp/WEB-INF/web.xml7
-rw-r--r--juick-spring-www/src/main/webapp/favicon.icobin244 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/favicon.pngbin244 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/logo.pngbin1184 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/dialog-close.pngbin1097 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/facebook.pngbin203 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/favicon.pngbin244 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/icon-fb.pngbin203 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/icon-gplus.pngbin501 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/icon-lj.pngbin1183 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/icon-twitter.pngbin458 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/icon-vk.pngbin306 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/logo.pngbin2447 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/logo@2x.pngbin4822 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/menu.pngbin479 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/photo-attachment-active.pngbin267 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/photo-attachment.pngbin234 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/scripts.js753
-rw-r--r--juick-spring-www/src/main/webapp/static/sharesocial.pngbin4474 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/style.css874
-rw-r--r--juick-spring-www/src/main/webapp/static/tagscloud.pngbin42316 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/toolbar-icons.pngbin737 -> 0 bytes
-rw-r--r--juick-spring-www/src/main/webapp/static/vk.pngbin306 -> 0 bytes
46 files changed, 0 insertions, 2490 deletions
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/layout/mainLayout.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/layout/mainLayout.html
deleted file mode 100644
index c07886b6..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/layout/mainLayout.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
-<head>
- <meta charset="UTF-8" />
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"/>
-
- <link rel="stylesheet" href="/style.css" th:href="@{/style.css}"/>
-
- <script type="text/javascript" src="/scripts.js" th:href="@{/scripts.js}"></script>
-
- <title layout:title-pattern="$LAYOUT_TITLE - $CONTENT_TITLE">Juick.com</title>
- <link rel="icon" href="//i.juick.com/favicon.png" th:href="@{/favicon.png}"/>
- <!--[if lt IE 9 & (!IEMobile 7)]>
- <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
- <![endif]-->
-</head>
-<body id="body">
- <div layout:replace="~{layout/partial/navigation}">Navigation block</div>
- <section id="content">
- <p layout:fragment="content">Main content</p>
- </section>
- <aside id="column">
- <p layout:fragment="column">Side column</p>
- </aside>
- <footer layout:replace="~{layout/partial/footer}">Footer</footer>
-</body>
-</html> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/layout/partial/footer.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/layout/partial/footer.html
deleted file mode 100644
index 1d565db3..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/layout/partial/footer.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<footer layout:fragment="footer" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
- <div id="footer">
- <div id="footer-right">
- <a href="/help/ru/contacts" th:href="@{/help/contacts}" th:text="#{link.contacts}" rel="nofollow">Контакты</a> &#183;
- <a href="/help/" th:href="@{/help/}" th:text="#{link.help}" rel="nofollow">Справка</a> &#183;
- <a href="/help/ru/adv" th:href="@{/help/adv}" th:text="#{link.adv}" rel="nofollow">Реклама</a>
- </div>
- <div id="footer-social">
- <a href="https://twitter.com/Juick" rel="nofollow" class="ico32-twi">Twitter</a>
- <a href="https://vk.com/juick" rel="nofollow" class="ico32-vk">VK</a>
- <a href="https://www.facebook.com/JuickCom" rel="nofollow" class="ico32-fb">Facebook</a>
- </div>
- <div id="footer-left">
- <a href="http://juick.com">juick.com</a> &copy; 2008-2017
- <div th:if="${showSponsors}">
- <span th:text="#{label.sponsors}">Спонсоры:</span>
- <span th:text="${links}">&nbsp;</span>
- </div>
- </div>
- </div>
- <script>
- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
- })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
- ga('create','UA-385578-4','juick.com');
- ga('require','displayfeatures');
- ga('send','pageview');
- </script>
- <script th:if="${showSape}">
- var _acic={dataProvider:10};
- (function(){
- var e=document.createElement('script');e.type='text/javascript';e.async=true;e.src='//www2.aci'+'nt.net/aci.js';
- var t=document.getElementsByTagName('script')[0];t.parentNode.insertBefore(e,t);
- })();
- </script>
-</footer> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/layout/partial/navigation.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/layout/partial/navigation.html
deleted file mode 100644
index 3b2d3bff..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/layout/partial/navigation.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<header layout:fragment="nav" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
- <div id="logo"><a href="/" th:href="@{/}">Juick</a></div>
- <nav id="global">
- <ul>
- <li><a href="/" th:href="@{/}" th:text="#{link.popular}">Популярные</a></li>
- <li><a href="/?show=all" th:href="@{/?show=all}" rel="nofollow" th:text="#{link.allMessages}">Все сообщения</a></li>
- <li><a href="/?show=photos" th:href="@{/?show=photos}" rel="nofollow" th:text="#{link.withPhotos}">Фотографии</a></li>
- </ul>
- </nav>
- <div id="search">
- <form action="/">
- <input type="text" name="search" class="text" placeholder="Поиск"
- th:placeholder="#{label.search}" th:value="${param.search}"/>
- </form>
- </div>
- <section id="headdiv">
- <th:block th:if="${#authorization.expression('isAuthenticated()')}">
- <nav id="user">
- <ul>
- <li>
- <a href="/?show=my" th:href="@{/?show=my}" th:text="#{link.my}">Моя лента</a>
- </li>
- <li>
- <a href="/pm/inbox" th:href="@{/pm/inbox}" th:text="#{link.privateMessages}">Приватные</a>
- </li>
- <li>
- <a href="/?show=discuss" th:href="@{/?show=discuss}" th:text="#{link.discuss}">Обсуждения</a>
- </li>
- <li>
- <a href="/?show=recommended" th:href="@{/?show=recommended}" th:text="#{link.recommended}">Рекомендации</a>
- </li>
- </ul>
- </nav>
- <nav id="actions">
- <ul>
- <li>
- <a href="/#post" th:href="@{/#post}" th:text="#{link.postMessage}">Написать</a>
- </li>
- <li>
- <a href="/ugnich" th:href="@{/{userName}(userName=${#authentication.name})}" th:text="'@'+${#authentication.name}">@ugnich</a>
- </li>
- <li>
- <a href="/settings" th:href="@{/settings}" th:text="#{link.settings}" rel="nofollow">Настройки</a>
- </li>
- <li>
- <a href="/logout" th:href="@{/logout}" th:text="#{link.logout}">Выйти</a>
- </li>
- </ul>
- </nav>
- </th:block>
- <th:block th:if="${#authorization.expression('isAnonymous()')}">
- <p>[(#{message.loginForSending(@{/login})})]</p>
- </th:block>
- </section>
-</header> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/error.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/error.html
deleted file mode 100644
index 9d763feb..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/error.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
- layout:decorate="~{layout/mainLayout}">
-<head>
- <title th:text="#{error.pageNotFound}">Page not found</title>
-</head>
-<body>
-<section id="content">
- <article layout:fragment="content">
- <h1 th:text="#{error.pageNotFound}">Page not found</h1>
- <p th:text="#{error.pageNotFound.description}">Probably, user deleted this post, or this page never existed.</p>
- </article>
-</section>
-<p layout:fragment="column" th:replace="views/partial/homecolumn">Main side column</p>
-</body>
-</html> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/help.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/help.html
deleted file mode 100644
index d935b9d4..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/help.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
- layout:decorate="~{layout/mainLayout}">
-<head>
- <title th:text="#{title.help}">Help title</title>
-</head>
-
-<body>
-<section id="content">
- <article layout:fragment="content" th:utext="${help_data}">Help text</article>
-</section>
-<aside id="column">
- <p layout:fragment="column" th:utext="${help_nav}">Help navigation</p>
-</aside>
-</body>
-</html> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/index.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/index.html
deleted file mode 100644
index 24aa9472..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
- layout:decorate="~{layout/mainLayout}">
-<head>
- <title th:if="${#authorization.expression('isAuthenticated()')}" th:text="${title}">Page title</title>
-</head>
-
-<body>
-<th:block layout:fragment="content">
- <div th:replace="views/partial/blog_postform"></div>
- <div th:replace="views/partial/blog_messages"></div>
- <div th:replace="views/partial/blog_paginator"></div>
-</th:block>
-
-<aside id="column">
- <p layout:fragment="column" th:replace="views/partial/homecolumn">Main side column</p>
-</aside>
-
-</body>
-</html> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/login.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/login.html
deleted file mode 100644
index 2736ca53..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/login.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org">
-<head>
- <meta charset="UTF-8" />
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"/>
-
- <title th:text="#{title.loginOrSignup}">Juick</title>
- <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" defer="defer"></script>
- <style>
- * { margin: 0; padding: 0; }
- html { font-family: sans-serif; }
- html { background: #eeeee5; }
- body { margin: 100px auto 0 auto; width: 1000px; }
- a { color: #069; }
- ul { float: left; width: 700px; height: 350px; list-style-type: none; background: url(/static/tagscloud.png) no-repeat; position: relative; }
- ul a { position: absolute; display: block; text-indent: 100%; white-space: nowrap; overflow: hidden; }
-
- #bottom1 { position: absolute; left: 0px; bottom: 10px; width: 100%; text-align: center; color: #555; }
- #bottom2 { position: absolute; left: 0px; bottom: -50px; width: 100%; padding-bottom: 20px; text-align: center; font-size: small; color: #777; }
-
- #signup,#signin { margin-left: 730px; width: 250px; }
- #signup { padding-top: 25px; }
- #signup>div { width: 100%; margin: 15px 0; }
- #signup>div>a { display: block; width: 100%; height: 32px; line-height: 32px; text-indent: 37px; text-decoration: none; overflow: hidden; }
-
- #facebook a { color: #FFF; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAAXNSR0IArs4c6QAAADNQTFRFO1edX3ewl6bLnKrOoK3QrrrYvMXe2N7r3OLu3+Tv5urz7O/29vf6+Pn7+vv9/Pz9////ykQjsQAAAEZJREFUOMtjYBgFuAATO68ADxdOaUYuATDAqYBbAL8CFgECCjiBcqz4XMiPz3oQEKCtAgEkwEdIAQchBWyEFDAPkDdHsAIAhZkIwz/VK/UAAAAASUVORK5CYII=") no-repeat #3A569C; }
- #vk a { color: #FFF; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAAXNSR0IArs4c6QAAAHJQTFRFbY+zbo+zbpCzb5C0cpO1c5O2dZW3dpa4e5m6gJ29gZ69lq/In7bNo7jPrcDUs8XXvs3dv87dy9fkztnlz9rm0Nrm093o1N7o1+Dq3OTt3ubu4Ofv5Orw7fH27vL28PP38vX49Pb5+vv8+/z9/Pz9////2jSYlQAAAG5JREFUOMvtkEcOgDAMBE3vvXdIyP+/iMMRKfYHmMtcRtE6AD8f1Is8pyKgAs0RGYO2HSWqMQaoBHVRgYsS3AsrtyFlrqgdJlCLb95gxQO6IkZCqL+KCjz0TQU5ejOf2a3aJXPF7BOB2PvMhp8PDzGRFgEe7xvEAAAAAElFTkSuQmCC") no-repeat #6d8fb3; }
- #xmpp>a { color: #333; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAAXNSR0IArs4c6QAAAt9QTFRFBj5rCUFoFz5mDEFuDUNqGUJkGUNgAEprEkVtGkRhHURnHEZjAE+BIElmEEx/HEx0PUdTHE5wMEtfO0laJk5sFlN6Nk1cKFBuIlJ1R0pYRExTGF2KMVh1OFhxDGSQT1deNlx6TVhkIGKPUlphKWOFU1tiOmB+Vl1kmlAuNmaDQGpaIG6ba2Q2SGeBN2uUNW+LF3mGRmyLV3BAL3xWgmVJ2VAa2lEb0VYX11UafWlmam9mam5xy1km3lUea29y2VccvF8obHBz21gd4VcXS3ebPoVG1lwl5FkaU3iYYHaH2F0ejHFIx2Iv4V0aP4o+02As218g4l4bPYtFX351KZFaymU43mIrVYoz5mEfT4w0xGsrSo82eXqDw2s+z2k1OZVAT4SoPZU5RZM4NJVYbYc8VoSiWY43WItbuXBK52gYOI20TpM6YYSYfX98T5Q7foB9aYSZSZc8Ro21cYxH7GwdT46e0HFGeopO2HA8V5ZEf4s8528l1HM7UJs5UI+xXoyrWZhGY4ylyHdMwXhXQZS7XpdNU5tH4XJBYJZZcIuhbpJk0HdPU588kohqOZ2pVZS30XpX6XcxSaFrz4FIUqVWWqVCYZm23YBGxYRrZZ2QXpy/5YFC7IA+6oBRb6ZUcKZn44ZSgKJu54hHmJqXbbBNfKh3cq5nYqrMpJyVdrBjx5WCo56diamAjaWdyZeE8JFV8ZJWnqOlaK/Sd7Zh7pVdgbN6x52N8JdfwqCU8ZhgZLbXb7a5grtTmK+UxKKWtqahq6qhd7bHqauop6yvqqyp755pbbzRrK6rwamgib53qq+xra+sobSg86Jza8PJsLKujMVctrGwqLapv7Crr7Wr8ad1srSxj8R9uLOys7WyubSztLazkcZ/sre6tbe0r7m0tri1t7m2vri3uLq3v7m4ubu4nc9mpNBvos2UptJxtNWXtteFuNmbuNyQud2Rut6SwN+aweCbwuGdw+KeweKkF4OfHQAAAadJREFUOMtjeEoAMAwfBQ9vYJO68RCu4BYDq1bXmr2XHoMlnlzet2qGpTgX8y2EFWwensEdrW2FbUAlJ2zDKsqaYwo6eZHcIGzoor/s5IdPSfefPt3nf3Xn3HZpPU8xJAXWIvU88VOffcm78vTptrijJe4OfAmy1kgKzjMlaIfUPvvQcObp03U120ucTZQaGc8je1NZrd8g8cL7eUufPp0wfX2mvVydripKONzkTG1JXvL6TuXTR/Zb5gR6F+Vw30QNqNUss/pqn3/MvrTD7Wy1V9Y0jtXoIZnLv2nSnrfzF3bP3hDRu1wwHzOo1VWOTXn5yi/q7MTJuxTUscTFQyHNc5vfbU1btOCgjNBDbJH1UF5i9/XP6VVrJRUfYo/Nx3YcpS/euOo4Pn6MqeDx44f3LoY2SYnOXBlUfPPug8cwRQxQ6Qf39sda+HqZaQiwGydFlx+4eQ+qAqrg4b3bPqbmNhkrNm5cbGUUHply7d6Dh8hWPH744Oa186eOHDl06NDh46fP33zwEMUEiCMe3L13GwjuPbj38PHTx9jT5OPHj5G9MFQyDgA8riWAv9eLFAAAAABJRU5ErkJggg==") no-repeat #BBB; }
- #xmppinfo { background: #FFF; padding: 10px; display: none; }
-
- #signin { text-align: center; font-size: small; }
- #signinform { background: #FFF; padding: 10px 15px; margin-top: 15px; display: none; }
- input.txt { width: 212px; border: 1px solid #CCC; margin: 3px 0; padding: 3px; }
- input.submit { width: 70px; border: 1px solid #CCC; margin: 3px 0; padding: 3px; }
- </style>
- <link rel="icon" href="//i.juick.com/favicon.png" th:href="@{/favicon.png}"/>
-</head>
-<body>
-
-<ul id="tags">
- <li><a href="/tag/juick" th:href="@{/tag/juick}" style="left: 359px; top: 120px; width: 311px; height: 99px">juick</a></li>
- <li><a href="/tag/linux" th:href="@{/tag/linux}" style="left: 201px; top: 100px; width: 98px; height: 35px">linux</a></li>
- <li><a href="/tag/android" th:href="@{/tag/android}" style="left: 314px; top: 42px; width: 45px; height: 158px">android</a></li>
- <li><a href="/tag/работа" th:href="@{/tag/работа}" style="left: 149px; top: 138px; width: 165px; height: 41px">работа</a></li>
- <li><a href="/tag/music" th:href="@{/tag/music}" style="left: 119px; top: 249px; width: 124px; height: 32px">music</a></li>
- <li><a href="/tag/windows" th:href="@{/tag/windows}" style="left: 448px; top: 234px; width: 186px; height: 32px">windows</a></li>
- <li><a href="/tag/google" th:href="@{/tag/google}" style="left: 244px; top: 252px; width: 134px; height: 41px">google</a></li>
- <li><a href="/tag/кино" th:href="@{/tag/кино}" style="left: 68px; top: 83px; width: 97px; height: 28px">кино</a></li>
- <li><a href="/tag/фото" th:href="@{/tag/фото}" style="left: 400px; top: 266px; width: 101px; height: 29px">фото</a></li>
- <li><a href="/tag/жизнь" th:href="@{/tag/жизнь}" style="left: 554px; top: 266px; width: 125px; height: 27px">жизнь</a></li>
- <li><a href="/tag/еда" th:href="@{/tag/еда}" style="left: 46px; top: 196px; width: 71px; height: 32px">еда</a></li>
- <li><a href="/tag/музыка" th:href="@{/tag/музыка}" style="left: 61px; top: 111px; width: 139px; height: 27px">музыка</a></li>
- <li><a href="/tag/прекрасное" th:href="@{/tag/прекрасное}" style="left: 152px; top: 200px; width: 205px; height: 32px">прекрасное</a></li>
- <li><a href="/tag/книги" th:href="@{/tag/книги}" style="left: 148px; top: 293px; width: 103px; height: 25px">книги</a></li>
- <li><a href="/tag/цитата" th:href="@{/tag/цитата}" style="left: 325px; top: 301px; width: 126px; height: 27px">цитата</a></li> <li><a href="/tag/games" style="left: 117px; top: 142px; width: 30px; height: 104px">games</a></li>
- <li><a href="/tag/ubuntu" th:href="@{/tag/ubuntu}" style="left: 503px; top: 2px; width: 28px; height: 102px">ubuntu</a></li>
- <li><a href="/tag/котэ" th:href="@{/tag/котэ}" style="left: 534px; top: 27px; width: 76px; height: 28px">котэ</a></li>
- <li><a href="/tag/ВНЕЗАПНО" th:href="@{/tag/ВНЕЗАПНО}" style="left: 501px; top: 293px; width: 146px; height: 23px">ВНЕЗАПНО</a></li>
- <li><a href="/tag/юмор" th:href="@{/tag/юмор}" style="left: 73px; top: 53px; width: 84px; height: 28px">юмор</a></li>
- <li><a href="/tag/мысли" th:href="@{/tag/мысли}" style="left: 202px; top: 179px; width: 102px; height: 21px">мысли</a></li>
- <li><a href="/tag/pic" th:href="@{/tag/pic}" style="left: 400px; top: 78px; width: 33px; height: 38px">pic</a></li>
- <li><a href="/tag/политота" th:href="@{/tag/политота}" style="left: 531px; top: 60px; width: 130px; height: 24px">политота</a></li>
- <li><a href="/tag/WOT" th:href="@{/tag/WOT}" style="left: 159px; top: 63px; width: 48px; height: 20px">WOT</a></li>
- <li><a href="/tag/fail" th:href="@{/tag/fail}" style="left: 8px; top: 170px; width: 34px; height: 27px">fail</a></li>
- <li><a href="/tag/погода" th:href="@{/tag/погода}" style="left: 670px; top: 126px; width: 24px; height: 93px">погода</a></li>
- <li><a href="/tag/apple" th:href="@{/tag/apple}" style="left: 42px; top: 167px; width: 64px; height: 29px">apple</a></li>
- <li><a href="/tag/jabber" th:href="@{/tag/jabber}" style="left: 436px; top: 43px; width: 25px; height: 75px">jabber</a></li>
- <li><a href="/tag/тян" th:href="@{/tag/тян}" style="left: 532px; top: 94px; width: 47px; height: 21px">тян</a></li>
- <li><a href="/tag/work" th:href="@{/tag/work}" style="left: 359px; top: 55px; width: 58px; height: 23px">work</a></li>
- <li><a href="/tag/Python" th:href="@{/tag/Python}" style="left: 240px; top: 63px; width: 74px; height: 23px">Python</a></li>
- <li><a href="/tag/Видео" th:href="@{/tag/Видео}" style="left: 266px; top: 232px; width: 76px; height: 20px">Видео</a></li>
- <li><a href="/tag/авто" th:href="@{/tag/авто}" style="left: 359px; top: 30px; width: 58px; height: 24px">авто</a></li>
- <li><a href="/tag/Anime" th:href="@{/tag/Anime}" style="left: 360px; top: 328px; width: 66px; height: 21px">Anime</a></li>
- <li><a href="/tag/игры" th:href="@{/tag/игры}" style="left: 378px; top: 242px; width: 22px; height: 58px">игры</a></li>
- <li><a href="/tag/вело" th:href="@{/tag/вело}" style="left: 176px; top: 9px; width: 18px; height: 54px">вело</a></li>
- <li><a href="/tag/web" th:href="@{/tag/web}" style="left: 661px; top: 219px; width: 22px; height: 47px">web</a></li>
- <li><a href="/tag/YouTube" th:href="@{/tag/YouTube}" style="left: 498px; top: 316px; width: 81px; height: 24px">YouTube</a></li>
- <li><a href="/tag/Вопрос" th:href="@{/tag/Вопрос}" style="left: 208px; top: 18px; width: 22px; height: 72px">Вопрос</a></li>
- <li><a href="/tag/железо" th:href="@{/tag/железо}" style="left: 159px; top: 318px; width: 75px; height: 16px">железо</a></li>
- <li><a href="/tag/Microsoft" th:href="@{/tag/Microsoft}" style="left: 20px; top: 146px; width: 86px; height: 21px">Microsoft</a></li>
- <li><a href="/tag/video" th:href="@{/tag/video}" style="left: 616px; top: 101px; width: 51px; height: 19px">video</a></li>
- <li><a href="/tag/Россия" th:href="@{/tag/Россия}" style="left: 32px; top: 242px; width: 68px; height: 16px">Россия</a></li>
- <li><a href="/tag/java" th:href="@{/tag/java}" style="left: 409px; top: 226px; width: 39px; height: 22px">java</a></li>
- <li><a href="/tag/новости" th:href="@{/tag/новости}" style="left: 39px; top: 67px; width: 21px; height: 79px">новости</a></li>
- <li><a href="/tag/интернет" th:href="@{/tag/интернет}" style="left: 100px; top: 233px; width: 17px; height: 85px">интернет</a></li>
- <li><a href="/tag/steam" th:href="@{/tag/steam}" style="left: 14px; top: 228px; width: 52px; height: 13px">steam</a></li>
- <li><a href="/tag/слова" th:href="@{/tag/слова}" style="left: 501px; top: 272px; width: 51px; height: 18px">слова</a></li>
- <li><a href="/tag/почта" th:href="@{/tag/почта}" style="left: 477px; top: 27px; width: 17px; height: 56px">почта</a></li>
- <li><a href="/tag/help" th:href="@{/tag/help}" style="left: 123px; top: 281px; width: 21px; height: 35px">help</a></li>
- <li><a href="/tag/skype" th:href="@{/tag/skype}" style="left: 110px; top: 320px; width: 49px; height: 20px">skype</a></li>
- <li><a href="/tag/debian" th:href="@{/tag/debian}" style="left: 461px; top: 47px; width: 16px; height: 51px">debian</a></li>
- <li><a href="/tag/win" th:href="@{/tag/win}" style="left: 505px; top: 104px; width: 27px; height: 16px">win</a></li>
- <li><a href="/tag/Религия" th:href="@{/tag/Религия}" style="left: 33px; top: 281px; width: 67px; height: 17px">Религия</a></li>
- <li><a href="/tag/soft" th:href="@{/tag/soft}" style="left: 286px; top: 86px; width: 28px; height: 14px">soft</a></li>
- <li><a href="/tag/Политика" th:href="@{/tag/Политика}" style="left: 144px; top: 281px; width: 75px; height: 12px">Политика</a></li>
- <li><a href="/tag/сны" th:href="@{/tag/сны}" style="left: 426px; top: 328px; width: 33px; height: 13px">сны</a></li>
- <li><a href="/tag/Питер" th:href="@{/tag/Питер}" style="left: 146px; top: 233px; width: 50px; height: 16px">Питер</a></li>
- <li><a href="/tag/bash" th:href="@{/tag/bash}" style="left: 451px; top: 311px; width: 38px; height: 16px">bash</a></li>
- <li><a href="/tag/code" th:href="@{/tag/code}" style="left: 279px; top: 310px; width: 39px; height: 16px">code</a></li>
- <li><a href="/tag/yandex" th:href="@{/tag/yandex}" style="left: 19px; top: 263px; width: 56px; height: 18px">yandex</a></li>
- <li><a href="/tag/firefox" th:href="@{/tag/firefox}" style="left: 452px; top: 295px; width: 48px; height: 16px">firefox</a></li>
- <li><a href="/tag/hardware" th:href="@{/tag/hardware}" style="left: 230px; top: 40px; width: 67px; height: 18px">hardware</a></li>
- <li><a href="/tag/git" th:href="@{/tag/git}" style="left: 78px; top: 258px; width: 20px; height: 19px">git</a></li>
- <li><a href="/tag/dev" th:href="@{/tag/dev}" style="left: 165px; top: 88px; width: 31px; height: 19px">dev</a></li>
- <li><a href="/tag/mobile" th:href="@{/tag/mobile}" style="left: 421px; top: 24px; width: 15px; height: 47px">mobile</a></li>
- <li><a href="/tag/люди" th:href="@{/tag/люди}" style="left: 151px; top: 184px; width: 43px; height: 15px">люди</a></li>
- <li><a href="/tag/php" th:href="@{/tag/php}" style="left: 149px; top: 24px; width: 27px; height: 18px">php</a></li>
- <li><a href="/tag/haskell" th:href="@{/tag/haskell}" style="left: 271px; top: 293px; width: 48px; height: 16px">haskell</a></li>
- <li><a href="/tag/стихи" th:href="@{/tag/стихи}" style="left: 135px; top: 42px; width: 41px; height: 11px">стихи</a></li>
- <li><a href="/tag/photo" th:href="@{/tag/photo}" style="left: 639px; top: 219px; width: 20px; height: 39px">photo</a></li>
- <li><a href="/tag/чай" th:href="@{/tag/чай}" style="left: 448px; top: 220px; width: 27px; height: 14px">чай</a></li>
- <li><a href="/tag/Опрос" th:href="@{/tag/Опрос}" style="left: 297px; top: 22px; width: 14px; height: 41px">Опрос</a></li>
- <li><a href="/tag/Chrome" th:href="@{/tag/Chrome}" style="left: 311px; top: 25px; width: 48px; height: 17px">Chrome</a></li>
- <li><a href="/tag/life" th:href="@{/tag/life}" style="left: 255px; top: 311px; width: 23px; height: 16px">life</a></li>
- <li><a href="/tag/opera" th:href="@{/tag/opera}" style="left: 226px; top: 232px; width: 38px; height: 14px">opera</a></li>
- <li><a href="/tag/programming" th:href="@{/tag/programming}" style="left: 234px; top: 327px; width: 81px; height: 14px">programming</a></li>
- <li><a href="/tag/дети" th:href="@{/tag/дети}" style="left: 15px; top: 197px; width: 31px; height: 13px">дети</a></li>
- <li><a href="/tag/сериалы" th:href="@{/tag/сериалы}" style="left: 575px; top: 219px; width: 61px; height: 13px">сериалы</a></li>
- <li><a href="/tag/учеба" th:href="@{/tag/учеба}" style="left: 616px; top: 84px; width: 43px; height: 17px">учеба</a></li>
-</ul>
-
-<div id="bottom1">juick.com &copy; 2008-2017 &nbsp; <a href="/help/ru/contacts" th:href="@{/help/contacts}" rel="nofollow" th:text="#{link.contacts}">Контакты</a> &#183; <a href="/help/" th:href="@{/help}" rel="nofollow" th:text="#{link.help}">Помощь</a></div>
-
-<div id="signup">
- <span th:text="#{label.register}">Зарегистрироваться:</span>
- <div id="facebook"><a href="/_fblogin" rel="nofollow">Facebook</a></div>
- <div id="vk"><a href="/_vklogin" rel="nofollow">VK</a></div>
- <div id="xmpp"><a href="#" onclick="$('#xmppinfo').toggle(); return false">XMPP</a>
- <div id="xmppinfo">[(#{message.sendLoginToXmpp})]</div>
- </div>
-</div>
-<div id="signin">
- <p th:if="${loginError}" class="error" th:text="#{error.login}">Произошла ошибка, проверьте имя пользователя и пароль</p>
- <a href="#" onclick="$('#signinform').toggle(); $('#nickinput').focus(); return false" th:text="#{question.areRegistered}">Уже зарегистрированы?</a>
- <div id="signinform">
- <form action="#" th:action="@{/do_login}" method="POST">
- <input class="txt" type="text" name="j_username" placeholder="Имя пользователя" th:placeholder="#{label.username}" id="nickinput"/>
- <input class="txt" type="password" name="j_password" placeholder="Пароль" th:placeholder="#{label.password}"/>
- <input class="submit" type="submit" value="OK" th:value="#{button.send}"/>
- </form>
- </div>
-</div>
-</body>
-</html> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/blog_messages.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/blog_messages.html
deleted file mode 100644
index 5d808f98..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/blog_messages.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<th:block th:each="msg:${msgs}" xmlns:th="http://www.thymeleaf.org">
- <article th:data-mid="${msg.getMid()}">
- <header class="u">
- @<a th:href="|/${msg.getUser().getName()}/|" th:text="${msg.getUser().getName()}">ugnich</a>:
- <div class="msg-avatar">
- <a th:href="|/${msg.getUser().getName()}/|">
- <img th:src="|//i.juick.com/a/${msg.getUser().getUid()}.png|"
- th:alt="${msg.getUser().getName()}"/>
- </a>
- </div>
- <div class="msg-ts">
- <a th:href="|/${msg.getUser().getName()}/${msg.getMid()}|">
- <time th:datetime="|${msg.getDate()}Z|"
- th:title="|${msg.getDate()} GMT|"
- th:text="${msg.getDate()}">01.01.1970
- </time>
- </a>
- </div>
- <div class="msg-tags" th:text="${msg.getTagsString()}"></div>
- </header>
- <p class="ir" th:if="${msg.getAttachmentType() != null}">
- <a href="|//i.juick.com/photos-512/${msg.getMid()}.${msg.getAttachmentType()}|">
- <img src="|//i.juick.com/photos-512/${msg.getMid()}.${msg.getAttachmentType()}|"
- th:data-fname="|${msg.getMid()}.${msg.getAttachmentType()}|" alt=""/></a>
- </p>
- <p th:utext="${msg.getText()}">Lorem ipsum</p>
- <div class="irbr" th:if="${msg.getAttachmentType() != null}"></div>
- <nav class="l">
- <th:block th:switch="${#authorization.expression('isAuthenticated()')}">
- <a th:case="false" class="a-login" th:href="|/${msg.getMid()}/|" th:text="#{message.recommend}">Recommend</a>
- <a th:case="true" class="a-like" th:href="|/post?body=!+%23${msg.getMid()}/|" th:text="#{message.recommend}">Recommend</a>
- </th:block>
- <a th:if="${#authorization.expression('isAuthenticated()') == false && !msg.ReadOnly}" class="a-login"
- th:href="|/${msg.getMid()}/|" th:text="#{message.comment}">Comment</a>
- <a th:if="${#authorization.expression('isAuthenticated()') == true && !msg.ReadOnly}"
- class="a-comment" th:href="|/${msg.getMid()}/|" th:text="#{message.comment}">Comment</a>
-
- <th:block th:if="${#authorization.expression('hasRole(''ROLE_ADMIN'')')}">
- <a href="#" class="a-popular-plus">+</a>
- <a href="#" class="a-popular-minus">-</a>
- <a href="#" class="a-popular-delete">x</a>
- </th:block>
- </nav>
- <nav class="s">
- <a th:if="${msg.getLikes() > 0}" th:href="|/${msg.getUser().getName()}/${msg.getMid()}|"
- class="likes"><i data-icon="ei-heart" data-size="s"></i>
- <span th:text="${msg.getLikes()}" th:remove="tag">&nbsp;10</span></a>
- <a th:if="${msg.getReplies() > 0}" th:href="|/${msg.getUser().getName()}/${msg.getMid()}|"
- class="replies"><i data-icon="ei-comment" data-size="s"></i>
- <span th:text="${msg.getReplies()}" th:remove="tag">&nbsp;42</span>
- </a>
- </nav>
- </article>
-</th:block> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/blog_paginator.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/blog_paginator.html
deleted file mode 100644
index aa1e0466..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/blog_paginator.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<p class="page" th:if="${nextpage != null}" xmlns:th="http://www.thymeleaf.org">
- <a th:href="${nextpage}" rel="prev"><span th:text="#{messages.next}" th:remove="tag">Next</span>&nbsp;→</a>
-</p> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/blog_postform.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/blog_postform.html
deleted file mode 100644
index a9ed9f5d..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/blog_postform.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<div th:if="${#authorization.expression('isAuthenticated()')}" xmlns:th="http://www.thymeleaf.org">
- <form action="/post" th:action="@{/post}" method="post" enctype="multipart/form-data">
- <section id="newmessage">
- <textarea name="body" placeholder="Новое сообщение..." th:placeholder="#{postForm.newMessage}"></textarea>
- <div>
- <input type="text" class="img" name="img" placeholder="Ссылка на изображение (JPG/PNG, до 10Мб)" th:placeholder="#{postForm.imageLink}" style="margin-bottom: 8pt"/>
- [(#{postForm.orImageUpload})]
-
- <input type="text" class="tags" name="tags" placeholder="Теги (через пробел)" th:placeholder="#{postForm.tags}"/><br/>
- <input type="submit" class="subm" value="Отправить" th:value="#{button.send}"/>
- </div>
- </section>
- </form>
-</div> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/homecolumn.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/homecolumn.html
deleted file mode 100644
index 46c146f2..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/homecolumn.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<p class="tags" xmlns:th="http://www.thymeleaf.org">
- <div th:replace="views/partial/tags">Tags</div>
- <a href="http://ru.wix.com/" th:if="${showAdv}">конструктор сайтов</a>
-</p>
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/settings_tabs.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/settings_tabs.html
deleted file mode 100644
index 253511b5..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/settings_tabs.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<div id="pagetabs" xmlns:th="http://www.thymeleaf.org">
- <ul>
- <li><a href="/settings" th:href="@{/settings}" th:text="#{link.settings.main}">Main</a></li>
- <li><a href="/settings?page=password" th:href="@{/settings?page=password}" th:text="#{link.settings.password}">Password</a></li>
- <li><a href="/settings?page=about" th:href="@{/settings?page=about}" th:text="#{link.settings.about}">About</a></li>
- </ul>
-</div> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/tags.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/tags.html
deleted file mode 100644
index f4822b4a..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/tags.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<th:block th:each="tag:${tags}" xmlns:th="http://www.thymeleaf.org">
- <a th:href="|/tag/${tag}|" th:title="${tag}" th:text="${tag}">Tag</a>
-</th:block> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/thread_message.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/thread_message.html
deleted file mode 100644
index 159eebf5..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/partial/thread_message.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<ul xmlns:th="http://www.thymeleaf.org">
- <li th:id="|msg-${msg.getMid()}|" th:data-mid="${msg.getMid()}" class="msg msgthread">
- <div class="msg-cont">
- <div class="msg-menu"><a href="#"></a></div>
- <div class="msg-ts" th:text="${msg.getDate()}">01.01.1970</div>
- <div class="msg-avatar">
- <a th:href="|/${msg.getUser().getName()}/|">
- <img th:src="|//i.juick.com/a/${msg.getUser().getUid()}.png|"
- th:alt="${msg.getUser().getName()}"/>
- </a>
- </div>
- <div class="msg-header">
- @<a th:href="|/${msg.getUser().getName()}/|" th:text="${msg.getUser().getName()}">ugnich</a>:
- <th:block th:text="${tagsStr}"/>
- </div>
- <div class="msg-txt" th:utext="${msg.getText()}">
- Lorem ipsum
- </div>
- <div class="msg-media" th:if="${msg.getAttachmentType() != null}">
- <a href="|//i.juick.com/p/${msg.getMid()}.${msg.getAttachmentType()}|">
- <img src="|//i.juick.com/photos-512/${msg.getMid()}.${msg.getAttachmentType()}|"/>
- </a>
- </div>
- <form th:if="${msg.VisitorCanComment}" action="/comment" method="POST" enctype="multipart/form-data">
- <input type="hidden" name="mid" th:value="${msg.getMid()}"/>
- <div class="msg-comment">
- <div class="ta-wrapper">
- <textarea name="body" rows="1" class="reply" placeholder="Написать комментарий"></textarea>
- </div>
- </div>
- </form>
- <div class="msg-recomms" th:text="|Рекомендовали (${recommsCount}): ${recomms}|">Recommended(1): @ugnich</div>
- </div>
- </li>
- <li id="mtoolbar">
- <ul>
- <li><a th:href="|/${msg.getMid()}|">
- <div style="background-position: -64px 0"></div>
- <th:block th:text="${msg.getMid()}"></th:block>
- </a></li>
- <th:block th:if="${#authorization.expression('isAuthenticated()')}">
- <li th:if="${isSubscribed}"><a th:href="|/post?body=U+%23${msg.getMid()}|">
- <div style="background-position: -48px 0"></div>
- Подписан</a></li>
- <li th:if="${isSubscribed == false}"><a th:href="|/post?body=S+%23${msg.getMid()}|">
- <div style="background-position: -16px 0"></div>
- Подписаться</a></li>
- <li th:if="${visitorInBL == false}"><a th:href="|/post?body=%21+%23${msg.getMid()}|">
- <div style="background-position: -32px 0"></div>
- Рекомендовать</a></li>
- <li th:if="${isOwnMessage}"><a th:href="|/post?body=D+%23${msg.getMid()}|">
- <div style="background-position: 0"></div>
- Удалить</a></li>
- </th:block>
- </ul>
- </li>
-</ul> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/pm_inbox.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/pm_inbox.html
deleted file mode 100644
index 80464e65..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/pm_inbox.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
- layout:decorate="~{layout/mainLayout}">
-<head>
- <title th:text="${title}">Inbox title</title>
-</head>
-
-<body>
-<section id="content">
- <ul layout:fragment="content" id="private-messages" th:if="${not #lists.isEmpty(msgs)}">
- <li class="msg" th:each="msg:${msgs}">
- <div class="msg-cont">
- <div class="msg-header">
- @<a th:href="|/${msg.getUser().getName()}/|" th:text="${msg.getUser().getName()}">ugnich</a>:
- <div class="msg-avatar">
- <a th:href="|/${msg.getUser().getName()}/|">
- <img th:src="|//i.juick.com/a/${msg.getUser().getUid()}.png|" th:alt="${msg.getUser().getName()}"/>
- </a>
- </div>
- <div class="msg-ts" th:text="${msg.getDate()}">01.01.1970</div>
- </div>
-
- <div class="msg-txt" th:utext="${msg.getText()}">Lorem ipsum</div>
-
- <form action="/pm/send" method="POST" enctype="multipart/form-data">
- <input type="hidden" name="uname" th:value="${msg.getUser().getName()}"/>
- <div class="msg-comment">
- <div class="ta-wrapper">
- <textarea name="body" rows="1" class="replypm" placeholder="Write a reply"
- th:placeholder="#{postForm.writeReply}"></textarea>
- </div>
- </div>
- </form>
-
- </div>
- </li>
- </ul>
-</section>
-<aside id="column">
- <p layout:fragment="column" th:replace="views/partial/homecolumn">Main side column</p>
-</aside>
-
-</body>
-</html> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/pm_sent.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/pm_sent.html
deleted file mode 100644
index 8978ff67..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/pm_sent.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
- layout:decorate="~{layout/mainLayout}">
-<head>
- <title th:text="${title}">Settings title</title>
-</head>
-
-<body>
-<section id="content">
- <div layout:fragment="content">
- <form action="/pm/send" method="POST" enctype="multipart/form-data">
- <div class="newpm">
- <div class="newpm-to">To: <input type="text" name="uname" placeholder="username" th:value="${uname}"/></div>
- <div class="newpm-body"><textarea name="body" rows="2"></textarea></div>
- <div class="newpm-send"><input type="submit" value="OK"/></div>
- </div>
- </form>
- <ul id="private-messages" th:if="#{not lists.isEmpty(msgs)}">
- <li class="msg" th:each="msg:${msgs}">
- <div class="msg-cont">
- <div class="msg-header">
- @<a th:href="|/${msg.getUser().getName()}/|" th:text="${msg.getUser().getName()}">ugnich</a>:
- <div class="msg-avatar">
- <a th:href="|/${msg.getUser().getName()}/|">
- <img th:src="|//i.juick.com/a/${msg.getUser().getUid()}.png|" th:alt="${msg.getUser().getName()}"/>
- </a>
- </div>
- <div class="msg-ts" th:text="${msg.getDate()}">01.01.1970</div>
- </div>
- <div class="msg-txt" th:utext="${msg.getText()}"></div>
- </div>
- </li>
- </ul>
- </div>
-</section>
-<aside id="column">
- <p layout:fragment="column" th:replace="views/partial/homecolumn">Main side column</p>
-</aside>
-
-</body>
-</html>
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/posted.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/posted.html
deleted file mode 100644
index 25432c2c..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/posted.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
- layout:decorate="~{layout/mainLayout}">
-<head>
- <title th:if="${#authorization.expression('isAuthenticated()')}" th:text="${title}">Page title</title>
-</head>
-
-<body>
-<article layout:fragment="content">
- <h1>Сообщение опубликовано</h1>
- <p>Поделитесь своим новым постом в социальных сетях:</p>
- <p class="social" th:if="${sharetwi} != null">
- <a
- th:href="|https://twitter.com/intent/tweet?text=${sharetwi}|"
- class="ico32-twi sharenew">Отправить в Twitter</a>
- </p>
- <p class="social">
- <a th:href="|http://www.livejournal.com/update.bml?subject=${hashtags}&event=${sharelj}&prop_taglist=${tagscomma}|"
- target="_blank" class="ico32-lj sharenew">Отправить в LiveJournal</a>
- </p>
- <p class="social">
- <a th:href="|https://vk.com/share.php?url=${url}|" class="ico32-vk sharenew">Отправить в ВКонтакте</a>
- </p>
- <p class="social">
- <a th:href="|https://www.facebook.com/sharer/sharer.php?u=${url}|"
- class="ico32-fb sharenew">Отправить в Facebook</a>
- </p>
- <p>Ссылка на сообщение:
- <a th:href="|http://juick.com/${mid}|" th:text="|http://juick.com/${mid}|">http://juick.com/12345
- </a>
- </p>
-</article>
-
-<aside id="column">
- <p layout:fragment="column" th:replace="views/partial/homecolumn">Main side column</p>
-</aside>
-
-</body>
-</html> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_about.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_about.html
deleted file mode 100644
index 6f8f61dd..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_about.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
- layout:decorate="~{layout/mainLayout}">
-<head>
- <title th:text="${title}">Settings title</title>
-</head>
-
-<body>
-<section id="content">
- <article layout:fragment="content">
- <form action="/settings" method="POST" enctype="multipart/form-data">
- <p>Full name: <input type="text" name="fullname" th:value="${userinfo.getFullName()}"/></p>
- <p>Country: <input type="text" name="country" th:value="${userinfo.getCountry()}"/></p>
- <p>URL: <input type="text" name="url" th:value="${userinfo.getUrl()}" size="32"/><br/>
- <small>Please, start with &quot;http://&quot;</small></p>
- <p>About:<br/>
- <input type="text" name="descr" th:value="${userinfo.getDescription()}" style="width: 100%"/><br/>
- <small>Max. 255 symbols</small></p>
- <p>Avatar: <input type="file" name="avatar"/><br/>
- <small>Recommendations: PNG, 96x96, &lt;50Kb. Also, JPG and GIF supported.</small></p>
- <p><input type="hidden" name="page" value="about"/><input type="submit" value=" OK "/></p>
- </form>
- </article>
-</section>
-<aside id="column">
- <p layout:fragment="column" th:replace="views/partial/settings_tabs">Settings navigation</p>
-</aside>
-
-</body>
-</html> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_auth-email.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_auth-email.html
deleted file mode 100644
index 715d474d..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_auth-email.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
- layout:decorate="~{layout/mainLayout}">
-<head>
- <title th:text="${title}">Settings title</title>
-</head>
-
-<body>
-<section id="content">
- <article layout:fragment="content">
- <p th:text="${result}">Authentication result</p><p><a href="/settings">Settings</a>.</p>
- </article>
-</section>
-<aside id="column">
- <p layout:fragment="column" th:replace="views/partial/settings_tabs">Settings navigation</p>
-</aside>
-
-</body>
-</html> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_main.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_main.html
deleted file mode 100644
index 2db977f4..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_main.html
+++ /dev/null
@@ -1,153 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
- layout:decorate="~{layout/mainLayout}">
-<head>
- <title th:text="${title}">Settings title</title>
-</head>
-
-<body>
-<section id="content">
- <article layout:fragment="content">
- <h1>Настройки</h1>
- <form action="/settings" method="POST" enctype="multipart/form-data">
- <fieldset>
- <legend>Notification options</legend>
- <p><input type="checkbox" name="jnotify" value="1"
- th:checked="${notify_options.isRepliesEnabled()}"/> Reply notifications (&quot;Message posted&quot;)</p>
- <p><input type="checkbox" name="subscr_notify" value="1"
- th:checked="${notify_options.isSubscriptionsEnabled()}"/> Subscriptions notifications (&quot;@user subscribed...&quot;)</p>
- <p><input type="checkbox" name="recomm" value="1"
- th:checked="${notify_options.isRecommendationsEnabled()}"/> Posts recommendations (&quot;Recommended by @user&quot;)</p>
- <p><input type="hidden" name="page" value="main"/><input type="submit" value=" OK "/></p>
- </fieldset>
- </form>
- <fieldset>
- <legend style="background: url(//telegram.org/favicon.ico?3) no-repeat; padding-left: 58px; line-height: 48px;">
- Telegram</legend>
- <form action="/settings" method="post" th:if="${telegram_name != null}">
- <div>Telegram: <b th:text="${telegram_name}">telegram_name</b> &mdash;
- <input type="hidden" name="page" value="telegram-del"/>
- <input type="submit" value=" Disable "/>
- </div>
- </form>
- <p th:if="${telegram_name == null}">
- To connect Telegram account: send any text message to <a href="https://telegram.me/Juick_bot">@Juick_bot</a>
- </p>
- </fieldset>
- <form action="/settings" method="POST" enctype="multipart/form-data">
- <fieldset>
- <legend style="background: url(//static.juick.com/settings/xmpp.png) no-repeat; padding-left: 58px; line-height: 48px;">
- XMPP accounts
- </legend>
- <p>Your accounts:</p>
- <p>
- <th:block th:each="jid:${jids}">
- <label><input type="radio" name="delete" th:value="|xmpp;${jid}}" th:text="${jid}">username@jabber.ru</label><br/>
- </th:block>
- <th:block th:each="auth:${auths}">
- <label><input type="radio" name="delete"
- th:value="|xmpp-unauth;${auth.getAccount()}|" th:text="${auth.getAccount()}">account</label>
- &mdash; <a href="#"
- onclick="alert(\'To confirm, please send &quot;AUTH {{ auth.getAuthCode() }}&quot; (without quotes) from this account to &quot;juick@juick.com&quot;.\'); return false;">Confirm</a><br/>
- </th:block>
- </p>
- <p th:if="#{not lists.isEmpty(jids)}"><input type="hidden" name="page" value="jid-del"/><input type="submit" value=" Delete "/></p>
- <p>To add new jabber account: send any text message to <a href="xmpp:juick@juick.com?message;body=login">juick@juick.com</a>
- </p>
- </fieldset>
- </form>
- <fieldset>
- <legend style="background: url(//static.juick.com/settings/email.png) no-repeat; padding-left: 58px; line-height: 48px;">
- E-mail
- </legend>
- <form action="/settings" method="POST" enctype="multipart/form-data">
- <p>Add account:<br/>
- <input type="text" name="account"/>
- <input type="hidden" name="page" value="email-add"/>
- <input type="submit" value=" Add "/>
- </p>
- </form>
- <form action="/settings" method="POST" enctype="multipart/form-data">
- <p>Your accounts:</p>
- <p>
- <th:block th:each="email:${emails}">
- <label><input type="radio" name="account" th:value="${email}" th:text="${email}">email@domain.tls</label><br/>
- </th:block>
- <p th:if="#{lists.isEmpty(emails)}">
- -</p>
- <th:block th:if="#{not lists.isEmpty(emails)}">
- </p>
- <p><input type="hidden" name="page" value="email-del"/><input type="submit" value=" Delete "/></p>
- </th:block>
- </form>
- <form action="/settings" method="POST" enctype="multipart/form-data" th:if="#{not lists.isEmpty(emails)}">
- <p>You can receive all your subscriptions by email:<br/>
- Sent to <select name="account">
- <option value="">Disabled</option>
- <option th:each="email:${emails}" th:value="${email}" th:text="${email}"
- th:selected="${eopts.getEmail()== email}">
- </option>
- </select> every day at <select name="time">
- <th:block th:each="hour:${hours}">
- <option th:value="${hour}" th:selected="${eopts.getSubscriptionHour() == hour}"
- th:text="|${hour}:00 GMT|">
- </option>
- </th:block>
- </select>
- <input type="hidden" name="page" value="email-subscr"/>
- <input type="submit" value="OK"/></p>
- </form>
- <p>&nbsp;</p>
- <p>You can post to Juick via e-mail. Send your <span style="text-decoration: underline">plain text</span>
- messages to special secret e-mail. You can attach one photo or video file.</p>
- <p>Secret email: <strong th:if="${ehash != null}" th:text="${ehash}">SecretEmail@juick.com</strong><th:block th:if="${ehash == null}">-</th:block></p>
- <form action="/settings" method="post">
- <p><input type="hidden" name="page" value="email"/><input type="submit" value=" Generate new "/></p>
- </form>
- </fieldset>
- <fieldset>
- <legend style="background: url(//static.juick.com/settings/facebook.png) no-repeat; padding-left: 58px; line-height: 48px;">
- Facebook
- </legend>
- <form action="/settings" method="post" th:if="${fbstatus.isConnected() && fbstatus.isCrosspostEnabled()}">
- <div>
- Facebook: <b>Enabled</b> &mdash;
- <input type="hidden" name="page" value="facebook-disable"/>
- <input type="submit" value=" Disable "/>
- </div>
- </form>
- <form action="/settings" method="post" th:if="${fbstatus.isConnected() && !fbstatus.isCrosspostEnabled()}">
- <div>
- Facebook: <b>Disabled</b> &mdash;
- <input type="hidden" name="page" value="facebook-enable"/>
- <input type="submit" value=" Enable "/>
- </div>
- </form>
- <p th:if="${!fbstatus.isConnected()}">Cross-posting to Facebook:
- <a href="/_fblogin">
- <img src="//static.juick.com/facebook-connect.png" alt="Connect to Facebook"/>
- </a>
- </p>
- </fieldset>
- <fieldset>
- <legend style="background: url(//static.juick.com/settings/twitter.png) no-repeat; padding-left: 58px; line-height: 48px;">
- Twitter</legend>
- <form action="/settings" method="post" th:if="${twitter_name != null}">
- <div>Twitter: <b th:text="${twitter_name}">@twitterName</b> &mdash;
- <input type="hidden" name="page" value="twitter-del"/>
- <input type="submit" value=" Disable "/>
- </div>
- </form>
- <p th:if="${twitter_name == null}">Cross-posting to Twitter: <a href="/_twitter"><img src="//static.juick.com/twitter-connect.png"
- alt="Connect to Twitter"/></a></p>
- </fieldset>
-
- </article>
-</section>
-<aside id="column">
- <p layout:fragment="column" th:replace="views/partial/settings_tabs">Settings navigation</p>
-</aside>
-
-</body>
-</html> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_password.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_password.html
deleted file mode 100644
index c76363e5..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_password.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
- layout:decorate="~{layout/mainLayout}">
-<head>
- <title th:text="${title}">Settings title</title>
-</head>
-
-<body>
-<section id="content">
- <article layout:fragment="content">
- <fieldset>
- <legend>Changing your password</legend>
- <form action="/settings" method="post">
- <input type="hidden" name="page" value="password"/>
- <p>Change password: <input type="password" name="password" size="8"/> <input type="submit"
- value=" Update "/><br/>
- <i>(max. length - 16 symbols)</i></p>
- </form>
- </fieldset>
- </article>
-</section>
-<aside id="column">
- <p layout:fragment="column" th:replace="views/partial/settings_tabs">Settings navigation</p>
-</aside>
-
-</body>
-</html> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_result.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_result.html
deleted file mode 100644
index 20cb097d..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/settings_result.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
- layout:decorate="~{layout/mainLayout}">
-<head>
- <title th:text="${title}">Settings title</title>
-</head>
-
-<body>
-<section id="content">
- <p layout:fragment="content" th:utext="${result}">Settings update status</p>
-</section>
-<aside id="column">
- <p layout:fragment="column" th:replace="views/partial/settings_tabs">Settings navigation</p>
-</aside>
-
-</body>
-</html> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/thread.html b/juick-spring-www/src/main/webapp/WEB-INF/templates/views/thread.html
deleted file mode 100644
index ac7da17f..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/templates/views/thread.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
- layout:decorate="~{layout/mainLayout}">
-<head>
- <title th:if="${#authorization.expression('isAuthenticated()')}" th:text="${title}">Page title</title>
-</head>
-
-<body>
-<section id="content" th:data-mid="${mid}" style="margin-left: 0; width: 100%">
- <th:block layout:fragment="content">
- <th:block th:replace="views/partial/thread_message"/>
- </th:block>
-</section>
-</body>
-</html>
-
diff --git a/juick-spring-www/src/main/webapp/WEB-INF/web.xml b/juick-spring-www/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index a57cceb9..00000000
--- a/juick-spring-www/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
- version="3.0">
-
-</web-app> \ No newline at end of file
diff --git a/juick-spring-www/src/main/webapp/favicon.ico b/juick-spring-www/src/main/webapp/favicon.ico
deleted file mode 100644
index bc7161e2..00000000
--- a/juick-spring-www/src/main/webapp/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/favicon.png b/juick-spring-www/src/main/webapp/favicon.png
deleted file mode 100644
index bc7161e2..00000000
--- a/juick-spring-www/src/main/webapp/favicon.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/logo.png b/juick-spring-www/src/main/webapp/logo.png
deleted file mode 100644
index 933f6099..00000000
--- a/juick-spring-www/src/main/webapp/logo.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/dialog-close.png b/juick-spring-www/src/main/webapp/static/dialog-close.png
deleted file mode 100644
index 9c4275cc..00000000
--- a/juick-spring-www/src/main/webapp/static/dialog-close.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/facebook.png b/juick-spring-www/src/main/webapp/static/facebook.png
deleted file mode 100644
index 5d111590..00000000
--- a/juick-spring-www/src/main/webapp/static/facebook.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/favicon.png b/juick-spring-www/src/main/webapp/static/favicon.png
deleted file mode 100644
index bc7161e2..00000000
--- a/juick-spring-www/src/main/webapp/static/favicon.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/icon-fb.png b/juick-spring-www/src/main/webapp/static/icon-fb.png
deleted file mode 100644
index 5d111590..00000000
--- a/juick-spring-www/src/main/webapp/static/icon-fb.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/icon-gplus.png b/juick-spring-www/src/main/webapp/static/icon-gplus.png
deleted file mode 100644
index d83d2520..00000000
--- a/juick-spring-www/src/main/webapp/static/icon-gplus.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/icon-lj.png b/juick-spring-www/src/main/webapp/static/icon-lj.png
deleted file mode 100644
index 9cde1e02..00000000
--- a/juick-spring-www/src/main/webapp/static/icon-lj.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/icon-twitter.png b/juick-spring-www/src/main/webapp/static/icon-twitter.png
deleted file mode 100644
index 259078f7..00000000
--- a/juick-spring-www/src/main/webapp/static/icon-twitter.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/icon-vk.png b/juick-spring-www/src/main/webapp/static/icon-vk.png
deleted file mode 100644
index 80b6920b..00000000
--- a/juick-spring-www/src/main/webapp/static/icon-vk.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/logo.png b/juick-spring-www/src/main/webapp/static/logo.png
deleted file mode 100644
index 4e0f6d56..00000000
--- a/juick-spring-www/src/main/webapp/static/logo.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/logo@2x.png b/juick-spring-www/src/main/webapp/static/logo@2x.png
deleted file mode 100644
index 6febeaf9..00000000
--- a/juick-spring-www/src/main/webapp/static/logo@2x.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/menu.png b/juick-spring-www/src/main/webapp/static/menu.png
deleted file mode 100644
index 4cac2563..00000000
--- a/juick-spring-www/src/main/webapp/static/menu.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/photo-attachment-active.png b/juick-spring-www/src/main/webapp/static/photo-attachment-active.png
deleted file mode 100644
index ecbf10e8..00000000
--- a/juick-spring-www/src/main/webapp/static/photo-attachment-active.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/photo-attachment.png b/juick-spring-www/src/main/webapp/static/photo-attachment.png
deleted file mode 100644
index 07d48517..00000000
--- a/juick-spring-www/src/main/webapp/static/photo-attachment.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/scripts.js b/juick-spring-www/src/main/webapp/static/scripts.js
deleted file mode 100644
index d368cacd..00000000
--- a/juick-spring-www/src/main/webapp/static/scripts.js
+++ /dev/null
@@ -1,753 +0,0 @@
-var autosize = require('autosize');
-require('whatwg-fetch');
-require('element-closest');
-require('classlist.js');
-if (!('remove' in Element.prototype)) { // Firefox <23
- Element.prototype.remove = function() {
- if (this.parentNode) {
- this.parentNode.removeChild(this);
- }
- };
-}
-
-NodeList.prototype.forEach = Array.prototype.forEach;
-HTMLCollection.prototype.forEach = Array.prototype.forEach;
-
-var ws,
- pageTitle;
-
-function initWS() {
- var content = document.getElementById('content');
- if (!content) { return }
- var pageMID = content.getAttribute('data-mid');
- if (!pageMID) { return }
-
- var url = (window.location.protocol === 'https:' ? 'wss' : 'ws') + ':'
- + (typeof juickDebug !== 'undefined' ?
- '//ws.juick.com/_replies' : ('//ws.juick.com/' + pageMID)),
- hash = document.getElementById('body').getAttribute('data-hash');
-
- if (hash) {
- url += '?hash=' + hash;
- }
-
- ws = new WebSocket(url);
- ws.onopen = function () {
- console.log('online');
- if (!document.querySelector('#wsthread')) {
- var d = document.createElement('div');
- d.id = 'wsthread';
- d.addEventListener('click', nextReply);
- document.querySelector('body').appendChild(d);
- pageTitle = document.title;
- }
- };
- ws.onclose = function () {
- console.log('offline');
- ws = false;
- setTimeout(function () {
- initWS();
- }, 2000);
- };
- ws.onmessage = function (msg) {
- if (msg.data == ' ') {
- ws.send(' ');
- } else {
- try {
- var jsonMsg = JSON.parse(msg.data);
- console.log('data: ' + msg.data);
- wsIncomingReply(jsonMsg);
- } catch (err) {
- console.log(err);
- }
- }
- };
- setInterval(wsSendKeepAlive, 90000);
-}
-
-function wsSendKeepAlive() {
- if (ws) {
- ws.send(' ');
- }
-}
-
-function wsShutdown() {
- if (ws) {
- ws.onclose = function () { };
- ws.close();
- }
-}
-
-function isTreeMode() {
- // relies on UserThread.printReplies implementation TODO keep this in cookie or something
- return document.querySelector('.title2-right > a').href.match(/\?view=(\w+)/)[1] == 'list';
-}
-
-function wsIncomingReply(msg) {
- var li = document.createElement('li');
- li.setAttribute('class', 'msg reply-new');
- li.setAttribute('id', msg.rid);
- li.addEventListener('click', newReply);
- li.addEventListener('mouseover', newReply);
- var msgAvatar = document.createElement('div');
- msgAvatar.setAttribute('class', 'msg-avatar');
- var msgAvatarLink = document.createElement('a');
- msgAvatarLink.setAttribute('href', '/' + msg.user.uname + '/');
- var msgAvatarImg = document.createElement('img');
- msgAvatarImg.setAttribute('src', '//i.juick.com/a/' + msg.user.uid + '.png');
- msgAvatarLink.appendChild(msgAvatarImg);
- msgAvatar.appendChild(msgAvatarLink);
-
- var msgCont = document.createElement('div');
- msgCont.setAttribute('class', 'msg-cont');
- var msgMenu = document.createElement('div');
- msgMenu.setAttribute('class', 'msg-menu');
- msgCont.appendChild(msgMenu);
- var msgMenuLink = document.createElement('a');
- msgMenuLink.setAttribute('href', '#');
- msgMenuLink.addEventListener('click', function (e) {
- showMessageLinksDialog(msg.mid, msg.rid);
- e.preventDefault();
- });
- msgMenu.appendChild(msgMenuLink);
- var msgHeader = document.createElement('div');
- msgHeader.setAttribute('class', 'msg-header');
- var msgHeaderLink = document.createElement('a');
- msgHeaderLink.setAttribute('href', '/' + msg.user.uname + '/');
- msgHeaderLink.textContent = '@' + msg.user.uname + ':';
- msgHeader.appendChild(msgHeaderLink);
- var msgTimestamp = document.createElement('div');
- msgTimestamp.setAttribute('class', 'msg-ts');
- var msgTimestampLink = document.createElement('a');
- msgTimestampLink.setAttribute('href', '/' + msg.mid + '#' + msg.rid);
- msgTimestampLink.setAttribute('title', msg.timestamp + ' GMT');
- msgTimestampLink.textContent = msg.timestamp;
- msgTimestamp.appendChild(msgTimestampLink);
- var msgTxt = document.createElement('div');
- msgTxt.setAttribute('class', 'msg-txt');
- var msgLinks = document.createElement('div');
- msgLinks.setAttribute('class', 'msg-links');
- var msgNum = '/' + msg.rid;
- if (msg.replyto > 0) {
- msgNum += ' в ответ на <a href="#' + msg.replyto + '">/' + msg.replyto + '</a>';
- }
- msgLinks.innerHTML = msgNum + ' &middot; ';
- var msgLinksLink = document.createElement('a');
- msgLinksLink.setAttribute('href', '#');
- msgLinksLink.textContent = 'Ответить';
- msgLinksLink.addEventListener('click', function (e) {
- showCommentForm(msg.mid, msg.rid);
- e.preventDefault();
- });
- msgLinks.appendChild(msgLinksLink);
- var msgComment = document.createElement('div');
- msgComment.setAttribute('class', 'msg-comment');
- msgComment.style.display = 'none';
- msgHeader.appendChild(msgAvatar);
- msgHeader.appendChild(msgMenu);
- msgHeader.appendChild(msgTimestamp);
- msgCont.appendChild(msgHeader);
- msgCont.appendChild(msgTxt);
- msgCont.appendChild(msgLinks);
- msgCont.appendChild(msgComment);
- li.appendChild(msgCont);
-
- li.querySelector('.msg-txt').textContent = msg.body;
-
- if (isTreeMode() && (msg.replyto > 0)) {
- var p = document.getElementById(msg.replyto);
- var m = parseInt(p.style.marginLeft) + 20;
- while (p.nextElementSibling && (parseInt(p.nextElementSibling.style.marginLeft) >= m)) p = p.nextElementSibling;
- li.style.marginLeft = m + 'px';
- p.parentNode.insertBefore(li, p.nextSibling);
- } else {
- document.getElementById('replies').appendChild(li);
- }
-
- updateRepliesCounter();
-}
-
-function newReply(e) {
- var li = e.target;
- li.classList.remove('reply-new');
- li.removeEventListener('click', e);
- li.removeEventListener('mouseover', e);
- updateRepliesCounter();
-}
-
-function nextReply() {
- var li = document.querySelector('#replies>li.reply-new');
- if (li) {
- li.classList.remove('reply-new');
- li.removeEventListener('click', this);
- li.childNodes[0].scrollIntoView();
- updateRepliesCounter();
- }
-}
-
-function updateRepliesCounter() {
- var replies = document.querySelectorAll('#replies>li.reply-new').length;
- var wsthread = document.getElementById('wsthread');
- if (replies) {
- wsthread.textContent = replies;
- wsthread.style.display = 'block';
- document.title = '[' + replies + '] ' + pageTitle;
- } else {
- wsthread.style.display = 'none';
- document.title = pageTitle;
- }
-}
-
-/******************************************************************************/
-/******************************************************************************/
-/******************************************************************************/
-
-function postformListener(formEl, ev) {
- var form = formEl.closest('form');
- if (ev.ctrlKey && (ev.keyCode == 10 || ev.keyCode == 13)) {
- if (!form.onsubmit || form.onsubmit()) {
- form.submit();
- }
- }
-}
-
-function unfoldPostForm() {
- if (window.location.pathname === '/' && window.location.hash === '#post') {
- document.querySelector('#newmessage>div').style.display = 'block';
- var ta = document.querySelector('#newmessage textarea');
- ta.style.minHeight = '70px';
- ta.focus();
- }
-}
-
-function newMessage() {
- if (document.querySelector('#newmessage textarea').value.length == 0) {
- openDialog('<p class="dialogtxt">Пожалуйста, введите текст сообщения</p>');
- return false;
- }
- return true;
-}
-
-function showMoreReplies(el, id) {
- var foldedReplies = el.closest('li').querySelector('.msg-comments');
- if (!foldedReplies) { return }
- foldedReplies.style.display = 'none';
-
- var replies = document.querySelectorAll('#replies>li'),
- flagshow = 0,
- i = 0;
- for (; i < replies.length; i += 1) {
- if (flagshow == 1) {
- if (replies[i].style.display == 'none') {
- replies[i].style.display = 'block';
- } else {
- break;
- }
- }
- if (replies[i].id == id) {
- flagshow = 1;
- }
- }
- return false;
-}
-
-function replyForm(mid, rid) {
- var form = document.createElement('form');
- form.setAttribute('action', '/comment');
- form.setAttribute('method', 'POST');
- form.setAttribute('enctype', 'multipart/form-data');
- var input = document.createElement('input');
- input.setAttribute('type', 'hidden');
- input.setAttribute('name', 'mid');
- input.setAttribute('value', mid);
- form.appendChild(input);
- if (rid) {
- var inputRid = document.createElement('input');
- inputRid.setAttribute('type', 'hidden');
- inputRid.setAttribute('name', 'rid');
- inputRid.setAttribute('value', rid);
- form.appendChild(inputRid);
- }
- return form;
-}
-
-function taWrapper() {
- var txtarea = document.createElement('textarea');
- txtarea.setAttribute('name', 'body');
- txtarea.setAttribute('rows', 1);
- txtarea.setAttribute('class', 'reply narrow');
- txtarea.setAttribute('placeholder', 'Написать комментарий...');
- var txtKeypress = function (e) {
- postformListener(e.target, e);
- };
- txtarea.addEventListener('keypress', txtKeypress);
- var wrapper = document.createElement('div');
- wrapper.setAttribute('class', 'ta-wrapper');
- wrapper.appendChild(txtarea);
- var att = document.createElement('div');
- att.setAttribute('class', 'attach-photo');
- att.addEventListener('click', function () {
- attachCommentPhoto(this);
- });
- wrapper.appendChild(att);
- return wrapper;
-}
-
-function showCommentForm(mid, rid) {
- var reply = document.getElementById(rid);
- if (reply && !reply.querySelector('textarea')) {
- var c = reply.querySelector('div.msg-cont > .msg-comment'),
- newNode = c.cloneNode(true),
- form = replyForm(mid, rid);
- form.appendChild(newNode);
- newNode.appendChild(taWrapper());
- var subm = document.createElement('input');
- subm.setAttribute('type', 'submit');
- subm.setAttribute('value', 'OK');
- newNode.appendChild(subm);
- c.parentNode.insertBefore(form, c);
- c.remove();
- }
-
- var commentBlock = reply.querySelector('div.msg-cont > form > div.msg-comment');
- commentBlock.style.display = 'block';
- var commentText = commentBlock.querySelector('textarea');
- if (commentText) {
- autosize(commentText);
- commentText.focus();
- }
-}
-
-function showCommentFooter(e, mid, rid) {
- var a = e.closest('article');
- if (!a.querySelector('footer.comm')) {
- var form = replyForm(mid, rid),
- footer = document.createElement('footer');
- footer.setAttribute('class', 'comm');
- footer.appendChild(taWrapper());
- var subm = document.createElement('input');
- subm.setAttribute('type', 'submit');
- subm.setAttribute('value', 'OK');
- footer.appendChild(subm);
- form.appendChild(footer);
- a.appendChild(form);
- autosize(a.querySelector('textarea'));
- }
- a.querySelector('textarea').focus();
-}
-
-function attachInput() {
- var inp = document.createElement('input');
- inp.setAttribute('type', 'file');
- inp.setAttribute('name', 'attach');
- inp.setAttribute('accept', 'image/jpeg,image/png');
- inp.style.visibility = 'hidden';
- return inp;
-}
-
-function attachCommentPhoto(div) {
- if (div.children.length === 0) {
- var inp = attachInput();
- inp.addEventListener('change', function () {
- inp.parentNode.classList.add('attach-photo-active');
- });
- inp.click();
- div.appendChild(inp);
- } else {
- div.innerHTML = null;
- div.classList.add('attach-photo');
- }
-}
-
-function attachMessagePhoto(div) {
- var f = div.closest('form'),
- finput = f.querySelector('input[type="file"]');
- if (!finput) {
- var inp = attachInput();
- inp.style.float = 'left';
- inp.style.width = 0;
- inp.style.height = 0;
- inp.addEventListener('change', function () {
- div.textContent = 'загрузить (✓)';
- });
- f.appendChild(inp);
- inp.click();
- } else {
- finput.remove();
- div.textContent = 'загрузить';
- }
-}
-
-function unfoldReply() {
- var anchor = window.location.hash.substring(1);
- if ((0 + anchor) > 0) {
- var el = document.getElementById(anchor);
- if (!el) { return }
- while (el.style.display === 'none') {
- el = el.previousElementSibling;
- }
- showMoreReplies(el, el.getAttribute('id'));
- window.location.replace(window.location.hash);
- }
-}
-
-function showMessageLinksDialog(mid, rid) {
- var hlink = window.location.protocol + '//juick.com/' + mid,
- mlink = '#' + mid;
- if (rid > 0) {
- hlink += '#' + rid;
- mlink += '/' + rid;
- }
- var hlinkenc = encodeURIComponent(hlink),
- html = '<div class="dialogshare">Ссылка на сообщение:'
- + '<div onclick="this.selectText()" class="dialogl">' + hlink + '</div>'
- + 'Номер сообщения:'
- + '<div onclick="this.selectText()" class="dialogl">' + mlink + '</div>'
- + 'Поделиться:<ul>'
- + '<li><a href="https://www.facebook.com/sharer/sharer.php?u=' + hlinkenc + '" onclick="return openSocialWindow(this)"></a></li>'
- + '<li><a href="https://twitter.com/intent/tweet?url=' + hlinkenc + '" onclick="return openSocialWindow(this)" style="background-position: -32px 0;"></a></li>'
- + '<li><a href="https://vk.com/share.php?url=' + hlinkenc + '" onclick="return openSocialWindow(this)" style="background-position: -64px 0;"></a></li>'
- + '<li><a href="https://plus.google.com/share?url=' + hlinkenc + '" onclick="return openSocialWindow(this)" style="background-position: -96px 0;"></a></li>'
- + '</ul></div>';
-
- openDialog(html);
-}
-
-function showPhotoDialog(fname) {
- var width = window.innerWidth,
- height = window.innerHeight * 0.9;
- if (width < 640) {
- return true;
- } else if (width < 1280) {
- openDialog('<a href="//i.juick.com/photos-1024/' + fname + '"><img src="//i.juick.com/photos-512/' + fname + '"/></a>');
- document.querySelector('#dialogw img').style.maxHeight = height + 'px';
- return false;
- } else {
- openDialog('<a href="//i.juick.com/p/' + fname + '"><img src="//i.juick.com/photos-1024/' + fname + '"/></a>');
- document.querySelector('#dialogw img').style.maxHeight = height + 'px';
- return false;
- }
-}
-
-function openDialog(html) {
- var dhtml = '<table id="dialogt"><tr><td><div id="dialogb"></div><div id="dialogw"><div id="dialogc"></div>' + html + '</div></td></tr></table>';
- document.querySelector('body').insertAdjacentHTML('afterbegin', dhtml);
- document.querySelector('#dialogb').addEventListener('click', closeDialog);
- document.querySelector('#dialogc').addEventListener('click', closeDialog);
-}
-
-function closeDialog() {
- document.querySelector('#dialogb').remove();
- document.querySelector('#dialogt').remove();
-}
-
-function openSocialWindow(a) {
- var w = window.open(a.href, 'juickshare', 'width=640,height=400');
- if (window.focus) w.focus();
- return false;
-}
-
-function checkUsername() {
- var uname = document.querySelector('#username').textContent,
- style = document.querySelector('#username').style;
- fetch('//api.juick.com/users?uname=' + uname)
- .then(function () {
- style.background = '#FFCCCC';
- })
- .catch(function () {
- style.background = '#CCFFCC';
- });
-}
-
-/******************************************************************************/
-
-function openDialogLogin() {
- var html = '<div class="dialoglogin"><p>Пожалуйста, представьтесь:'
- + '<a href="/_fblogin" id="signfb">Facebook</a> '
- + '<a href="/_vklogin" id="signvk">ВКонтакте</a></p>'
- + '<p>Уже зарегистрированы?</p>'
- + '<form action="/login" method="POST">'
- + '<input class="signinput" type="text" name="username" placeholder="Имя пользователя"/><br/>'
- + '<input class="signinput" type="password" name="password" placeholder="Пароль"/><br/>'
- + '<input class="signsubmit" type="submit" value="OK"/>'
- + '</form></div>';
- openDialog(html);
- return false;
-}
-
-/******************************************************************************/
-
-function resultMessage(str) {
- var result = document.createElement('p');
- result.textContent = str;
- return result;
-}
-
-function likeMessage(e, mid) {
- if (confirm('Are you sure?')) {
- fetch('//juick.com/like?mid=' + mid, {
- method: 'POST',
- credentials: 'same-origin'
- })
- .then(function (response) {
- if (response.ok) {
- e.closest('article').appendChild(resultMessage('OK!'));
- }
- })
- .catch(function () {
- e.closest('article').appendChild(resultMessage('Ошибка'));
- });
- }
- return false;
-}
-
-/******************************************************************************/
-
-function setPopular(e, mid, popular) {
- fetch('//api.juick.com/messages/set_popular?mid=' + mid
- + '&popular=' + popular
- + '&hash=' + document.getElementById('body').getAttribute('data-hash'), {
- credentials: 'same-origin'
- })
- .then(function () {
- e.closest('article').append(resultMessage('OK!'));
- });
- return false;
-}
-
-function setPrivacy(e, mid) {
- fetch('//api.juick.com/messages/set_privacy?mid=' + mid
- + '&hash=' + document.getElementById('body').getAttribute('data-hash'), {
- credentials: 'same-origin'
- })
- .then(function () {
- e.closest('article').append(resultMessage('OK!'));
- });
- return false;
-}
-/******************************************************************************/
-
-Element.prototype.selectText = function () {
- var d = document;
- if (d.body.createTextRange) {
- var range = d.body.createTextRange();
- range.moveToElementText(this);
- range.select();
- } else if (window.getSelection) {
- var selection = window.getSelection();
- var rangeSel = d.createRange();
- rangeSel.selectNodeContents(this);
- selection.removeAllRanges();
- selection.addRange(rangeSel);
- }
-};
-
-function ready(fn) {
- if (document.readyState != 'loading') {
- fn();
- } else {
- document.addEventListener('DOMContentLoaded', fn);
- }
-}
-
-ready(function () {
- autosize(document.querySelectorAll('textarea'));
-
- var insertButtons = function (e) {
- var textarea = e.target;
- textarea.classList.add('narrow');
- var att = document.createElement('div');
- att.classList.add('attach-photo');
- att.addEventListener('click', function(e) {
- attachCommentPhoto(e.target);
- });
- textarea.parentNode.insertBefore(att, textarea.nextSibling);
- textarea.parentNode.insertAdjacentHTML('afterend', '<input type="submit" value="OK"/>');
- textarea.removeEventListener('click', insertButtons);
- e.preventDefault();
- };
- document.querySelectorAll('textarea.reply').forEach(function(e) {
- e.addEventListener('click', insertButtons);
- e.addEventListener('keypress', function(e) {
- postformListener(e.target, e);
- });
- });
-
- var insertPMButtons = function (e) {
- e.target.classList.add('narrowpm');
- e.target.parentNode.insertAdjacentHTML('afterend', '<input type="submit" value="OK"/>');
- e.target.removeEventListener('click', insertPMButtons);
- e.preventDefault();
- };
- document.querySelectorAll('textarea.replypm').forEach(function(e) {
- e.addEventListener('click', insertPMButtons);
- });
-
- var content = document.getElementById('content');
- if (content) {
- var pageMID = content.getAttribute('data-mid');
- if (pageMID > 0) {
- document.querySelectorAll('.msg-comments').forEach(function(e) {
- e.addEventListener('click', function (e) {
- var rid = e.target.closest('li').id;
- showMoreReplies(e.target, rid);
- e.preventDefault();
- });
- });
- document.querySelectorAll('.a-thread-comment').forEach(function(e) {
- e.addEventListener('click', function (e) {
- var rid = e.target.closest('li').id;
- showCommentForm(pageMID, rid);
- e.preventDefault();
- });
- });
- }
- }
-
- document.querySelectorAll('.msg-menu a').forEach(function(el) {
- el.addEventListener('click', function(e) {
- showMessageLinksDialog(
- e.target.closest('section').getAttribute('data-mid'),
- parseInt(e.target.closest('li').id)); // rid
- e.preventDefault();
- });
- });
- document.querySelectorAll('.l .a-comment').forEach(function(e) {
- e.addEventListener('click', function (e) {
- showCommentFooter(
- e.target,
- e.target.closest('article').getAttribute('data-mid'));
- e.preventDefault();
- });
- });
- document.querySelectorAll('.l .a-privacy').forEach(function(e) {
- e.addEventListener('click', function (e) {
- setPrivacy(
- e.target,
- e.target.closest('article').getAttribute('data-mid'));
- e.preventDefault();
- });
- });
- document.querySelectorAll('.l .a-popular-plus').forEach(function(e) {
- e.addEventListener('click', function (e) {
- setPopular(
- e.target,
- e.target.closest('article').getAttribute('data-mid'),
- 2);
- e.preventDefault();
- });
- });
- document.querySelectorAll('.l .a-popular-minus').forEach(function(e) {
- e.addEventListener('click', function (e) {
- setPopular(
- e.target,
- e.target.closest('article').getAttribute('data-mid'),
- -1);
- e.preventDefault();
- });
- });
- document.querySelectorAll('.l .a-popular-delete').forEach(function(e) {
- e.addEventListener('click', function (e) {
- setPopular(
- e.target,
- e.target.closest('article').getAttribute('data-mid'),
- -2);
- e.preventDefault();
- });
- });
- document.querySelectorAll('.ir a').forEach(function(e) {
- e.addEventListener('click', function (e) {
- var fname = e.target.closest('[data-fname]').getAttribute('data-fname');
- if (!showPhotoDialog(fname)) {
- e.preventDefault();
- }
- });
- });
- document.querySelectorAll('.social a').forEach(function(e) {
- e.addEventListener('click', function (e) {
- openSocialWindow(e.target);
- e.preventDefault();
- });
- });
- var username = document.getElementById('username');
- if (username) {
- username.addEventListener('blur', function () {
- checkUsername();
- });
- }
-
- document.querySelectorAll('.l .a-like').forEach(function(e) {
- e.addEventListener('click', function (e) {
- likeMessage(
- e.target,
- e.target.closest('article').getAttribute('data-mid'));
- e.preventDefault();
- });
- });
- document.querySelectorAll('.a-login').forEach(function(el) {
- el.addEventListener('click', function(e) {
- openDialogLogin();
- e.preventDefault();
- });
- });
- document.querySelectorAll('.attach-photo').forEach(function(el) {
- el.addEventListener('click', function(e) {
- attachCommentPhoto(e.target);
- });
- });
- var unfoldall = document.getElementById('unfoldall');
- if (unfoldall) {
- unfoldall.addEventListener('click', function(e) {
- document.querySelectorAll('#replies>li').forEach(function(e) {
- e.style.display = 'block';
- });
- document.querySelectorAll('#replies .msg-comments').forEach(function(e) {
- e.style.display = 'none';
- });
- e.preventDefault();
- });
- }
- var newMessageBlock = document.getElementById('newmessage');
- if (newMessageBlock) {
- var form = newMessageBlock.parentNode;
- form.addEventListener('submit', newMessage);
- newMessageBlock.querySelector('textarea').addEventListener('click', function(e) {
- var parent = e.target.parentNode;
- parent.querySelector('div').style.display = 'block';
- e.target.style.minHeight = '70px';
- e.target.addEventListener('keypress', function(e) {
- postformListener(e.target, e);
- });
- });
- newMessageBlock.querySelector('a').addEventListener('click', function(e) {
- attachMessagePhoto(e.target);
- });
- }
- document.querySelectorAll('article').forEach(function(article) {
- if (Array.prototype.some.call(
- article.querySelectorAll('.u a'),
- function (a) {
- return a.textContent === 'NSFW';
- }
- )) {
- var img = article.querySelector('.ir img');
- if (img) {
- img.style.opacity = 0.05;
- img.addEventListener('mouseover', function(e) {
- e.target.style.opacity = 1;
- });
- img.addEventListener('mouseout', function(e) {
- e.target.style.opacity = 0.05;
- });
- }
- }
- });
-
- unfoldPostForm();
- unfoldReply();
- initWS();
- window.addEventListener('hashchange', unfoldPostForm);
- window.addEventListener('hashchange', unfoldReply);
-
- window.addEventListener('pagehide', wsShutdown);
-});
diff --git a/juick-spring-www/src/main/webapp/static/sharesocial.png b/juick-spring-www/src/main/webapp/static/sharesocial.png
deleted file mode 100644
index 1031b343..00000000
--- a/juick-spring-www/src/main/webapp/static/sharesocial.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/style.css b/juick-spring-www/src/main/webapp/static/style.css
deleted file mode 100644
index 46af7b81..00000000
--- a/juick-spring-www/src/main/webapp/static/style.css
+++ /dev/null
@@ -1,874 +0,0 @@
-html,body,div,h1,h2,ul,li,p,form,input,textarea,pre {
- margin: 0;
- padding: 0;
-}
-html,input,textarea {
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Droid Sans", "Helvetica Neue", sans-serif;
- font-size: 12pt;
- -webkit-font-smoothing: subpixel-antialiased;
-}
-html {
- background: #EEEEE5;
- color: #222;
-}
-body {
- margin: 0 auto;
- width: 1000px;
-}
-h1,h2 {
- font-weight: normal;
-}
-ul {
- list-style-type: none;
-}
-a {
- color: #069;
- text-decoration: none;
-}
-img,hr {
- border: none;
-}
-hr {
- background: #CCC;
- height: 1px;
- margin: 10px 0;
-}
-pre {
- white-space: pre-wrap;
- white-space: -moz-pre-wrap;
- white-space: -pre-wrap;
- white-space: -o-pre-wrap;
- word-wrap: break-word;
-}
-span.u {
- text-decoration: underline;
-}
-#content {
- float: right;
- margin: 25px 0 0 0;
- width: 728px;
-}
-#topwrapper {
- clear: both;
- position: relative;
-}
-body>header {
- width: 1000px;
-}
-body>header a {
- border-bottom: 1px dotted #666;
- color: #222;
- font-size: 13pt;
-}
-#logo {
- float: left;
- height: 36px;
- margin: 7px 25px 0 20px;
- width: 110px;
-}
-#logo a {
- background: url("logo.png") no-repeat;
- border: 0;
- display: block;
- height: 36px;
- overflow: hidden;
- text-indent: 100%;
- white-space: nowrap;
- width: 110px;
-}
-@media screen and (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi) {
- #logo a {
- background: url("logo@2x.png") no-repeat;
- background-size: cover;
- }
-}
-nav#global {
- float: left;
-}
-nav#global li {
- display: inline-block;
- margin: 14px 12px 0 0;
-}
-#search {
- float: right;
- margin: 12px 20px 12px 0;
-}
-#search input {
- background: #FFF;
- border: 1px solid #DDDDD5;
- padding: 4px;
-}
-#headdiv {
- background: #DDDDD5;
- border-bottom: 1px solid #D5D5D0;
- border-top: 1px solid #D5D5D0;
- clear: both;
- margin: 0 0 5px 0;
- padding: 0 20px;
- position: relative;
-}
-#headdiv li {
- display: inline-block;
- margin: 12px 12px 12px 0;
-}
-nav#actions {
- position: absolute;
- right: 8px;
- top: 0;
-}
-body>header nav li:after {
- color: #AAA;
- content: "/";
- display: inline-block;
- margin-left: 12px;
-}
-body>header nav li:last-child:after {
- display: none;
-}
-body>header p {
- color: #222;
- font-size: 13pt;
- margin: 12px 0;
- text-align: center;
-}
-#content>p, #content>h1, #content>h2 {
- margin: 1em 0;
-}
-#newmessage {
- background: #E5E5E0;
- margin-bottom: 20px;
- padding: 15px;
-}
-#newmessage textarea {
- border: 1px solid #CCC;
- height: 14pt;
- margin: 0 0 5px 0;
- min-height: 14pt;
- padding: 4px;
- resize: vertical;
- width: 688px;
-}
-#newmessage input {
- border: 1px solid #CCC;
- margin: 5px 0;
- padding: 2px 4px;
-}
-#newmessage>div {
- display: none;
-}
-#newmessage .img {
- width: 500px;
-}
-#newmessage .tags {
- width: 500px;
-}
-#newmessage .subm {
- background: #EEEEE5;
- width: 150px;
-}
-article {
- background: #fff;
- line-height: 140%;
- margin-bottom: 20px;
- padding: 20px;
-}
-article aside {
- float: left;
- height: 48px;
- margin-right: 10px;
- width: 48px;
-}
-article aside img {
- height: 48px;
- width: 48px;
-}
-article time {
- border-bottom: 1px dotted #999;
- color: #999;
- font-size: 10pt;
-}
-article p {
- clear: left;
- margin: 5px 0 15px 0;
-}
-article p.i {
- text-align: center;
-}
-article p.ir {
- float: right;
- margin-bottom: 10px;
- margin-left: 10px;
-}
-article p.ir a {
- cursor: -moz-zoom-in;
- cursor: -webkit-zoom-in;
-}
-article p.ir img {
- max-height: 200px;
- max-width: 200px;
-}
-article .irbr {
- clear: right;
-}
-article>nav.l {
- display: inline-block;
- font-size: 10pt;
-}
-article>nav.l a {
- border-bottom: 1px dotted #AAA;
- color: #888;
- margin-right: 15px;
-}
-article>nav.s {
- display: inline-block;
- float: right;
- text-align: right;
-}
-article>nav.s a {
- color: #222;
- font-weight: bold;
- vertical-align: middle;
-}
-article a.likes {
- padding-left: 20px;
-}
-article a.replies {
- margin-left: 18px;
-}
-article footer.comm {
- margin: 13px 0 0 0;
-}
-article textarea {
- border: 0;
- height: 12pt;
- min-height: 12pt;
- padding: 2px;
- resize: vertical;
- vertical-align: top;
- width: 530px;
-}
-article input {
- background: #EEE;
- border: 1px solid #CCC;
- color: #999;
- margin-left: 6px;
- min-width: 50px;
- vertical-align: top;
-}
-article .tags {
- margin-top: 3px;
-}
-.msg-tags {
- margin-top: 5px;
-}
-article .tags>a, .msg-tags>a {
- border: 1px dotted #ccc;
- color: #888;
- display: inline-block;
- font-size: 10pt;
- margin-bottom: 5px;
- margin-right: 5px;
- padding: 0 10px;
-}
-#geomap {
- height: 300px;
- margin-top: 1em;
- overflow: hidden;
- width: 700px;
-}
-.msg {
- margin: 10px 0 20px 0;
-}
-.ads {
- background: #FFF;
- margin: 8px 0 16px 58px;
- padding: 13px 10px 5px 10px;
-}
-.msgthread {
- margin-bottom: 0;
-}
-.msg-avatar {
- float: left;
- height: 48px;
- margin-right: 10px;
- width: 48px;
-}
-.msg-avatar img {
- height: 48px;
- vertical-align: top;
- width: 48px;
-}
-.msg-cont {
- background: #FFF;
- line-height: 140%;
- margin-bottom: 20px;
- padding: 20px;
- width: 640px;
-}
-.msg-menu {
- float: right;
- height: 16px;
- margin-left: 10px;
- margin-top: 2.4px;
- width: 16px;
-}
-.msg-menu>a {
- background: url("menu.png") no-repeat;
- display: block;
- height: 16px;
- vertical-align: top;
- width: 16px;
-}
-.msg-ts, article header.t {
- float: right;
- font-size: small;
- vertical-align: top;
-}
-.msg-ts, .msg-ts>a {
- color: #999;
-}
-.msg-place {
- font-size: small;
-}
-.msg-place>a {
- color: #999;
-}
-.msg-txt {
- clear: both;
- margin: 0 0 12px;
- padding-top: 10px;
-}
-.msg-media {
- text-align: center;
-}
-.msg-links {
- color: #999;
- font-size: small;
- margin: 5px 0 0 0;
-}
-.msg-comments {
- color: #AAA;
- font-size: small;
- margin-top: 10px;
- overflow: hidden;
- text-indent: 10px;
-}
-.ta-wrapper {
- border: 1px solid #DDD;
- display: inline-block;
-}
-.msg-comment textarea {
- border: 0;
- height: 12pt;
- min-height: 12pt;
- padding: 2px;
- resize: vertical;
- vertical-align: top;
- width: 634px;
-}
-.msg-comment .narrow {
- width: 554px;
-}
-.msg-comment .narrowpm {
- width: 580px;
-}
-.attach-photo {
- background: url("photo-attachment.png") no-repeat 3px 4px;
- cursor: pointer;
- display: inline-block;
- height: 13px;
- overflow: hidden;
- padding: 2px 4px;
- width: 16px;
-}
-.attach-photo-active {
- background: url("photo-attachment-active.png") no-repeat 3px 4px;
- cursor: pointer;
- display: inline-block;
- height: 13px;
- overflow: hidden;
- padding: 2px 4px;
- width: 16px;
-}
-.msg-comment input {
- background: #EEE;
- border: 1px solid #CCC;
- color: #999;
- margin-left: 6px;
- vertical-align: top;
- width: 50px;
-}
-.msg-recomms {
- color: #AAA;
- font-size: small;
- margin-top: 10px;
- overflow: hidden;
- text-indent: 10px;
-}
-.reply-new .msg-cont {
- border-right: 5px solid #0C0;
-}
-q:before, q:after {
- content: "";
-}
-q {
- border-left: 1px dashed #CCC;
- color: #666;
- display: block;
- margin: 10px 0 10px 10px;
- padding-left: 10px;
-}
-#mtoolbar {
- background: #E5E5DD;
- border-top: 1px solid #CCC;
- width: 680px;
-}
-#mtoolbar ul, #mtoolbar a {
- padding: 5px;
-}
-#mtoolbar li {
- display: inline;
-}
-#mtoolbar div {
- background: url("toolbar-icons.png") no-repeat;
- display: inline-block;
- height: 16px;
- margin: 5px;
- vertical-align: middle;
- width: 16px;
-}
-#replies .msg-txt, #private-messages .msg-txt {
- margin: 0;
-}
-.msg-comment {
- margin-top: 10px;
-}
-.newmessage {
- border: 1px solid #DDD;
- padding: 2px;
- resize: vertical;
- width: 695px;
-}
-.users {
- margin: 10px 0;
- width: 100%;
-}
-.users td {
- overflow: hidden;
- padding: 6px 0;
- width: 33%;
-}
-.users img {
- height: 32px;
- margin-right: 6px;
- vertical-align: middle;
- width: 32px;
-}
-.title2 {
- background: #DDDDD0;
- margin: 20px 0;
- padding: 10px 20px;
-}
-.title2-right {
- float: right;
- line-height: 24px;
-}
-#content .title2 h2 {
- font-size: x-large;
- margin: 0;
-}
-.page {
- background: #E5E5DD;
- padding: 5px;
- text-align: center;
-}
-.signup-h1>img {
- margin-right: 10px;
- vertical-align: middle;
-}
-.signup-h1 {
- font-size: x-large;
- margin: 20px 0 10px 0;
-}
-.signup-h2 {
- font-size: large;
- margin: 10px 0 5px 0;
-}
-.signup-hr {
- margin: 20px 0;
-}
-.newpm {
- margin: 20px 60px 30px 60px;
-}
-.newpm textarea {
- resize: vertical;
- width: 100%;
-}
-.newpm-send input {
- width: 100px;
-}
-#column {
- float: left;
- margin-left: 10px;
- overflow: hidden;
- padding-top: 10px;
- width: 240px;
-}
-#column ul, #column p, #column hr {
- margin: 10px 0;
-}
-#column li {
- margin: 6px 0;
-}
-#column .margtop {
- margin-top: 15px;
-}
-#column p {
- font-size: 10pt;
- line-height: 140%;
-}
-#column .tags {
- text-align: justify;
-}
-#column .inp {
- background: #F5F5E9;
- border: 1px solid #CCC;
- border-radius: 3px;
- padding: 3px;
- width: 222px;
-}
-#ctitle {
- font-size: 14pt;
-}
-#ctitle img {
- margin-right: 5px;
- vertical-align: middle;
-}
-#ctoolbar {
- background: #E5E5DD;
- line-height: 0;
- margin: 10px 0;
- padding: 5px;
-}
-#ctoolbar li {
- display: inline;
-}
-#ctoolbar a {
- padding: 5px 10px;
-}
-#ctoolbar div {
- background: url("toolbar-icons.png") no-repeat;
- display: inline-block;
- height: 16px;
- margin: 5px 0;
- vertical-align: middle;
- width: 16px;
-}
-#ustats li {
- font-size: 10pt;
- margin: 3px 0;
-}
-#column table.iread {
- width: 100%;
-}
-#column table.iread td {
- text-align: center;
-}
-#column table.iread img {
- height: 48px;
- width: 48px;
-}
-#dialogb {
- background: #222;
- height: 100%;
- left: 0;
- opacity: 0.6;
- position: fixed;
- top: 0;
- width: 100%;
- z-index: 10;
-}
-#dialogt {
- height: 100%;
- left: 0;
- position: fixed;
- top: 0;
- width: 100%;
- z-index: 10;
-}
-#dialogt td {
- text-align: center;
- vertical-align: middle;
-}
-#dialogw {
- display: inline-block;
- position: relative;
- text-align: left;
- z-index: 11;
-}
-#dialogc {
- background: url("dialog-close.png");
- cursor: pointer;
- height: 30px;
- position: absolute;
- right: -15px;
- top: -15px;
- width: 30px;
- z-index: 12;
-}
-.dialoglogin {
- background: #EEEEE5;
- padding: 25px;
- width: 300px;
-}
-#signfb,#signvk {
- display: block;
- height: 32px;
- line-height: 32px;
- margin: 10px 0;
- overflow: hidden;
- text-decoration: none;
- text-indent: 37px;
- width: 100%;
-}
-#signfb {
- background: url("facebook.png") no-repeat #3A569C;
- color: #FFF;
-}
-#signvk {
- background: url("vk.png") no-repeat #6d8fb3;
- color: #FFF;
- margin-bottom: 30px;
-}
-.dialoglogin form {
- margin-top: 7px;
-}
-.signinput,.signsubmit {
- border: 1px solid #CCC;
- margin: 3px 0;
- padding: 3px;
-}
-.signinput {
- width: 292px;
-}
-.signsubmit {
- width: 70px;
-}
-.dialogshare {
- background: #EEEEE5;
- border: 1px solid #999;
- min-width: 300px;
- overflow: auto;
- padding: 20px;
-}
-.dialogl {
- background: #F5F5E9;
- border: 1px solid #DDD;
- margin: 3px 0 20px;
- padding: 5px;
-}
-.dialogshare li {
- float: left;
- margin: 5px 10px 0 0;
-}
-.dialogshare a {
- background-image: url("sharesocial.png");
- display: block;
- height: 32px;
- width: 32px;
-}
-.dialogtxt {
- background: #EEEEE5;
- padding: 20px;
-}
-#wsthread {
- background: #CCC;
- bottom: 20px;
- cursor: pointer;
- display: none;
- padding: 5px 10px;
- position: fixed;
- right: 20px;
-}
-#footer {
- clear: both;
- color: #999;
- font-size: 10pt;
- margin: 0 auto 20px 0;
- padding: 10px 0;
- width: 1004px;
-}
-#footer-social {
- float: left;
-}
-#footer-social a {
- border: 0;
- display: inline-block;
- height: 32px;
- margin: 0 15px 0 0;
- overflow: hidden;
- text-indent: 100%;
- white-space: nowrap;
- width: 32px;
-}
-#footer-left {
- margin-left: 286px;
- margin-right: 350px;
-}
-#footer-right {
- float: right;
-}
-.sharenew {
- color: #FFF;
- display: inline-block;
- line-height: 32px;
- min-height: 32px;
- min-width: 200px;
- padding: 0 12px 0 37px;
-}
-.ico32-twi {
- background: #55acee url("icon-twitter.png") no-repeat;
-}
-.ico32-vk {
- background: #6d8fb3 url("icon-vk.png") no-repeat;
-}
-.ico32-fb {
- background: #3b579d url("icon-fb.png") no-repeat;
-}
-.ico32-lj {
- background: #888888 url("icon-lj.png") no-repeat;
-}
-.ico32-gp {
- background: #dc4a38 url("icon-gplus.png") no-repeat;
-}
-.icon {
- margin-top: -2px;
- vertical-align: middle;
-}
-.icon--ei-comment {
- margin-top: -3px;
-}
-fieldset {
- border: 1px dotted #ccc;
- margin-top: 25px;
-}
-@media screen and (max-width: 850px) {
- body {
- text-size-adjust: 100%;
- -webkit-text-size-adjust: 100%;
- }
- body,body>header,#topwrapper,#content,#footer,#mtoolbar {
- float: none;
- margin: 0 auto;
- min-width: 310px;
- width: auto;
- }
- body>header {
- margin-bottom: 15px;
- }
- body>header a {
- font-size: 12pt;
- }
- #logo {
- display: none;
- }
- nav#global {
- margin-left: 10px;
- }
- nav#global li {
- margin-right: 10px;
- }
- #search {
- display: inline-block;
- float: none;
- margin: 10px 10px;
- }
- #headdiv {
- padding: 0 10px;
- }
- #headdiv li {
- margin-right: 10px;
- }
- nav#actions {
- position: relative;
- right: auto;
- }
- #newmessage .img, #newmessage .tags {
- width: 100%;
- }
- #column {
- float: none;
- margin: 0 10px;
- padding-top: 0;
- width: auto;
-
- }
- article {
- margin: 8px;
- overflow: auto;
- }
- article p {
- margin: 10px 0 8px 0;
- }
- article>nav.l {
- display: block;
- float: left;
- line-height: 15pt;
- width: 80%;
- }
- article>nav.s {
- display: block;
- }
- article textarea {
- width: 205px;
- }
- article footer {
- float: left;
- }
- #content textarea {
- width: 100%;
- }
- .msg,.msg-cont {
- min-width: 280px;
- width: auto;
- }
- .msg-cont,.ads {
- margin: 8px;
- }
- .msg-comment textarea {
- width: 100%;
- }
- .msg-media {
- overflow: auto;
- }
- .title2 h2 {
- font-size: large;
- }
- #footer {
- margin: 0 10px;
- }
- #footer div {
- float: none;
- margin: 10px 0;
- }
-}
-@media screen and (max-width: 480px) {
- .msg-ts {
- float: none;
- }
- .msg-tags {
- margin-top: 10px;
- }
- .msg-txt {
- padding-top: 5px;
- }
- .title2 {
- font-size: 11pt;
- }
- #content .title2 h2 {
- font-size: 11pt;
- }
- .title2-right {
- line-height: initial;
- }
-}
diff --git a/juick-spring-www/src/main/webapp/static/tagscloud.png b/juick-spring-www/src/main/webapp/static/tagscloud.png
deleted file mode 100644
index 3e1bf169..00000000
--- a/juick-spring-www/src/main/webapp/static/tagscloud.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/toolbar-icons.png b/juick-spring-www/src/main/webapp/static/toolbar-icons.png
deleted file mode 100644
index cd4efd45..00000000
--- a/juick-spring-www/src/main/webapp/static/toolbar-icons.png
+++ /dev/null
Binary files differ
diff --git a/juick-spring-www/src/main/webapp/static/vk.png b/juick-spring-www/src/main/webapp/static/vk.png
deleted file mode 100644
index 80b6920b..00000000
--- a/juick-spring-www/src/main/webapp/static/vk.png
+++ /dev/null
Binary files differ