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')
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 = `
-
`;
- 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
-
-
-
-
-
-
-
-
-
-
-
-
- {{ i18n("messages","label.register") }}:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
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") }}:
+
+
+
+
+
+
+
+
+
+
+{% endblock %}
+{% block "column" %}
+{% include "views/partial/homecolumn" %}
+{% endblock %}
--
cgit v1.2.3