From 206742aed99a20fea014c83408fb44ff36089351 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Wed, 7 Dec 2022 15:54:04 +0300 Subject: Remove login popup --- src/main/assets/scripts.js | 29 --- src/main/assets/style.css | 77 +++++- src/main/java/com/juick/www/controllers/Login.java | 69 ----- src/main/java/com/juick/www/controllers/Site.java | 33 +++ src/main/resources/templates/layouts/login.html | 281 --------------------- src/main/resources/templates/views/login.html | 57 +++++ 6 files changed, 166 insertions(+), 380 deletions(-) delete mode 100644 src/main/java/com/juick/www/controllers/Login.java delete mode 100644 src/main/resources/templates/layouts/login.html create mode 100644 src/main/resources/templates/views/login.html (limited to 'src/main') diff --git a/src/main/assets/scripts.js b/src/main/assets/scripts.js index cc811808..8d201438 100644 --- a/src/main/assets/scripts.js +++ b/src/main/assets/scripts.js @@ -416,29 +416,6 @@ function checkUsername() { /******************************************************************************/ -function openDialogLogin() { - const token = document.body.getAttribute('data-token'); - let html = ` -
-

${i18n('loginDialog.pleaseIntroduceYourself')}:

- ${evilIcon('ei-envelope')}${i18n('loginDialog.email')} - ${evilIcon('ei-sc-facebook')}${i18n('loginDialog.facebook')} - ${evilIcon('ei-sc-vk')}${i18n('loginDialog.vk')} - -

${i18n('loginDialog.registeredAlready')}

-
- -
-
- -
-
`; - openDialog(html); - return false; -} - -/******************************************************************************/ - function resultMessage(str) { var result = document.createElement('p'); result.textContent = str; @@ -711,12 +688,6 @@ ready(() => { e.preventDefault(); }); }); - Array.from(document.querySelectorAll('.a-login')).forEach(function(el) { - el.addEventListener('click', function(e) { - openDialogLogin(); - e.preventDefault(); - }); - }); var unfoldall = document.getElementById('unfoldall'); if (unfoldall) { unfoldall.addEventListener('click', function(e) { diff --git a/src/main/assets/style.css b/src/main/assets/style.css index 0842b492..ab00fab7 100644 --- a/src/main/assets/style.css +++ b/src/main/assets/style.css @@ -1,4 +1,4 @@ -@import "../../../node_modules/evil-icons/assets/evil-icons.css"; +@import url("../../../node_modules/evil-icons/assets/evil-icons.css"); @custom-media --viewport-desktop (width >=62.5rem); @custom-media --viewport-mobile (width < 62.5rem); @@ -991,6 +991,81 @@ article p { } } +#signup, +#signin { + 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; +} + +.err { + color: red; +} + @media (--viewport-desktop) { @supports (position: sticky) { #column { diff --git a/src/main/java/com/juick/www/controllers/Login.java b/src/main/java/com/juick/www/controllers/Login.java deleted file mode 100644 index f78ccef0..00000000 --- a/src/main/java/com/juick/www/controllers/Login.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (C) 2008-2020, Juick - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package com.juick.www.controllers; - -import com.juick.model.User; -import com.juick.service.UserService; -import com.juick.service.security.annotation.Visitor; - -import jakarta.servlet.http.HttpSession; - -import org.springframework.security.core.AuthenticationException; -import org.springframework.security.web.WebAttributes; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -import javax.inject.Inject; - -/** - * @author Ugnich Anton - */ -@Controller -public class Login { - @Inject - private UserService userService; - - @GetMapping("/login") - public String getloginForm(@Visitor User visitor, HttpSession session, - @RequestParam(required = false, defaultValue = "true") boolean redirect, ModelMap model) { - if (!visitor.isAnonymous()) { - return redirect ? "redirect:/" : "redirect:/login/success"; - } - AuthenticationException authEx = (AuthenticationException) session - .getAttribute(WebAttributes.AUTHENTICATION_EXCEPTION); - - if (authEx != null) { - model.addAttribute("authErrorMessage", authEx.getLocalizedMessage()); - } - - String socialLoginError = (String) session.getAttribute(SocialLogin.AUTH_ERROR); - - if (socialLoginError != null) { - model.addAttribute("authErrorMessage", socialLoginError); - } - - return "layouts/login"; - } - - @GetMapping("/login/success") - public String getSuccessLogin(@Visitor User visitor, ModelMap model) { - model.addAttribute("hash", userService.getHashByUID(visitor.getUid())); - return "views/login_success"; - } -} diff --git a/src/main/java/com/juick/www/controllers/Site.java b/src/main/java/com/juick/www/controllers/Site.java index 46440b2b..a0b8c5b0 100644 --- a/src/main/java/com/juick/www/controllers/Site.java +++ b/src/main/java/com/juick/www/controllers/Site.java @@ -26,6 +26,7 @@ import com.juick.util.WebUtils; import com.juick.www.WebApp; import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpSession; import com.juick.service.*; import com.juick.service.security.annotation.Visitor; @@ -36,6 +37,8 @@ import org.apache.commons.text.StringEscapeUtils; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.web.WebAttributes; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.CookieValue; @@ -92,6 +95,36 @@ public class Site { .map(t -> t.getTag().getName()).collect(Collectors.toList())); } + @GetMapping("/login") + public String getloginForm(@Visitor User visitor, HttpSession session, + @RequestParam(required = false, defaultValue = "true") boolean redirect, ModelMap model) { + if (!visitor.isAnonymous()) { + return redirect ? "redirect:/" : "redirect:/login/success"; + } + model.addAttribute("visitor", visitor); + model.addAttribute("tags", tagService.getPopularTags()); + AuthenticationException authEx = (AuthenticationException) session + .getAttribute(WebAttributes.AUTHENTICATION_EXCEPTION); + + if (authEx != null) { + model.addAttribute("authErrorMessage", authEx.getLocalizedMessage()); + } + + String socialLoginError = (String) session.getAttribute(SocialLogin.AUTH_ERROR); + + if (socialLoginError != null) { + model.addAttribute("authErrorMessage", socialLoginError); + } + + return "views/login"; + } + + @GetMapping("/login/success") + public String getSuccessLogin(@Visitor User visitor, ModelMap model) { + model.addAttribute("hash", userService.getHashByUID(visitor.getUid())); + return "views/login_success"; + } + @GetMapping("/") protected String doGet(@Visitor User visitor, Locale locale, @RequestParam(required = false) String tag, @RequestParam(name = "show", required = false) String paramShow, diff --git a/src/main/resources/templates/layouts/login.html b/src/main/resources/templates/layouts/login.html deleted file mode 100644 index 86eb45fa..00000000 --- a/src/main/resources/templates/layouts/login.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - Juick - - - - - - - - - -
juick.com © 2008-2022   Контакты · - Помощь -
- -
- {{ i18n("messages","label.register") }}: - - -
- -
-
- -
-
-
- - {{ i18n("messages","question.areRegistered") }} - -
-
-

{{ authErrorMessage | default('') }}

- - - - -
-
-
- - - - diff --git a/src/main/resources/templates/views/login.html b/src/main/resources/templates/views/login.html new file mode 100644 index 00000000..f61853e8 --- /dev/null +++ b/src/main/resources/templates/views/login.html @@ -0,0 +1,57 @@ +{% extends "layouts/default" %} +{% block content %} + +
+ {{ i18n("messages","label.register") }}: + + +
+ +
+
+ +
+
+
+ + {{ i18n("messages","question.areRegistered") }} + +
+
+

{{ authErrorMessage | default('') }}

+ + + + +
+
+
+{% endblock %} +{% block "column" %} +{% include "views/partial/homecolumn" %} +{% endblock %} -- cgit v1.2.3