Правка роутинга при ошибках серверной валидации, попап авторизации через соц.сети

parent a3b6d773
......@@ -56,7 +56,11 @@ class UserController extends Controller
session()->flash('success', 'Реєстрація успішна');
Auth::login($user);
return redirect()->route('home'); // || redirect()->home(); || redirect('/');
//return redirect()->route('home'); // || redirect()->home(); || redirect('/');
return response()->json([
'status' => 'success',
'redirect' => route('home')
]);
}
public function edit(Request $request) {
......@@ -75,9 +79,18 @@ class UserController extends Controller
if ($user->save()) {
session()->flash('success', 'Налаштування збережено успішно');
return redirect()->back();
//return redirect()->back();
return response()->json([
'status' => 'success',
'redirect' => route('settings')
]);
}
return redirect()->back()->with('error', 'Виникла помилка при збереженні налаштувань');
//return redirect()->back()->with('error', 'Виникла помилка при збереженні налаштувань');
return response()->json([
'status' => 'error',
'message' => 'Виникла помилка при збереженні налаштувань'
]);
}
public function login(Request $request) {
......@@ -91,9 +104,18 @@ class UserController extends Controller
'email' => $request->email,
'password' => $request->password,
])) {
return redirect()->route('home');
//return redirect()->route('home');
return response()->json([
'status' => 'success',
'redirect' => route('home')
]);
}
return redirect()->back()->with('error', 'Введено невiрний Email або пароль');
//return redirect()->back()->with('error', 'Введено невiрний Email або пароль');
return response()->json([
'status' => 'error',
'message' => 'Введено невiрний Email або пароль'
]);
}
public function loginGoogle() {
......@@ -109,6 +131,7 @@ class UserController extends Controller
Auth::login($user);
return redirect()->route('home');
//return redirect()->back();
}
public function loginApple() {
......
......@@ -68,6 +68,7 @@
.modal-body
{
min-height: 305px;
padding: 3rem;
}
......@@ -76,8 +77,25 @@
margin: 10px;
}
#sign-in-with-apple
{
display: block;
text-align: center;
height: 25%;
padding: 5%;
padding-top: 3%;
padding-bottom: 3%;
width: 100%;
background-color: #fff;
border: solid 1px #000;
border-radius: 10px;
color: #000;
}
#sign-in-with-apple b
{
font-family:'SF Pro Text';
}
.b-auth-wrap
{
......
@font-face {
font-family: "SF Pro Text";
src: url(data:application/x-font-woff;charset=utf-8;base64,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) format("woff")
}
\ No newline at end of file
......@@ -23,13 +23,19 @@
}
// Переключение форм внутри попапа
let
social = select('.b-social'),
auth = select('.b-auth'),
email = select('.b-email'),
reg = select('.b-reg'),
authTitle = select('.modal-title.auth'),
regTitle = select('.modal-title.reg');
regTitle = select('.modal-title.reg'),
googleAuth = select('.btn-google'),
appleAuth = select('.btn-apple'),
closeModal = select('.modal-dialog .btn-close');
function ToggleLoginBlock()
{
......@@ -70,12 +76,117 @@
ToggleLoginBlock();
});
// Модальное окно для авторизации через соц.сети:
let googleWin;
var
valueInterval = 1000,
waitLoginInterval,
showModalInterval;
function showModalWin(e, socialAuth)
{
e.preventDefault();
if (googleWin) {
googleWin.close();
}
const
width = 500,
height = 600,
left = window.innerWidth/2-width/2,
top = window.innerHeight/2-height/2;
googleWin = window.open(socialAuth.getAttribute('href') ,'Авторизацiя', `popup=true, width=${width}, height=${height}, top=${top}, left=${left}`);
clearInterval(waitLoginInterval);
waitLoginInterval = setInterval(function(){
console.log('AAA 111');
try {
if (googleWin.location.href && googleWin.location.href != 'about:blank') {
clearInterval(waitLoginInterval);
googleWin.close();
window.location.reload();
}
} catch (error) {
}
}, valueInterval);
clearInterval(showModalInterval);
showModalInterval = setInterval(function(){
console.log('AAA 222');
if (!googleWin.window) {
clearInterval(waitLoginInterval);
clearInterval(showModalInterval);
closeModal.click();
}
}, valueInterval);
return false;
}
on('click', '.btn-google', function(e) {
showModalWin(e, googleAuth)
});
on('click', '.btn-apple', function(e) {
showModalWin(e, appleAuth)
});
/*
on('click', '.btn-google', function(e) {
e.preventDefault();
if (googleWin) {
googleWin.close();
}
const
width = 500,
height = 600,
left = window.innerWidth/2-width/2,
top = window.innerHeight/2-height/2;
googleWin = window.open(googleAuth.getAttribute('href') ,'Продовжити з Google', `popup=true, width=${width}, height=${height}, top=${top}, left=${left}`);
clearInterval(waitLoginInterval);
waitLoginInterval = setInterval(function(){
console.log('AAA 111');
try {
if (googleWin.location.href && googleWin.location.href != 'about:blank') {
clearInterval(waitLoginInterval);
googleWin.close();
window.location.reload();
}
} catch (error) {
}
}, valueInterval);
clearInterval(showModalInterval);
showModalInterval = setInterval(function(){
console.log('AAA 222');
if (!googleWin.window) {
clearInterval(waitLoginInterval);
clearInterval(showModalInterval);
closeModal.click();
}
}, valueInterval);
return false;
});
*/
})();
(function() {
// Валидация форм
var constraintsAuth = {
email: {
presence: {message: "Email не повинен бути пустим"},
......@@ -105,8 +216,12 @@
},
};
var alertForm = document.querySelector(".b-alerts .alert.form");
var alertAll = document.querySelectorAll(".b-alerts .alert");
var
alertForm = document.querySelector(".b-alerts .alert.form"),
alertAll = document.querySelectorAll(".b-alerts .alert"),
formAuth = document.querySelector("form#auth-form"),
formReg = document.querySelector("form#reg-form"),
formSet = document.querySelector("form#set-form");
// клик извне, чтобы закрыть сообщение ошибок
document.addEventListener( 'click', (e) => {
......@@ -120,20 +235,16 @@
});
var formAuth = document.querySelector("form#auth-form");
formAuth.addEventListener("submit", function(ev) {
ev.preventDefault();
handleFormSubmit(formAuth, constraintsAuth);
});
var formReg = document.querySelector("form#reg-form");
formReg.addEventListener("submit", function(ev) {
ev.preventDefault();
handleFormSubmit(formReg, constraintsReg);
});
var formSet = document.querySelector("form#set-form");
if (formSet) {
formSet.addEventListener("submit", function(ev) {
ev.preventDefault();
......@@ -146,10 +257,52 @@
var errors = validate(form, constraints, {fullMessages: false});
showErrors(errors || {});
if (!errors) {
form.submit();
//form.submit();
let action = form.getAttribute('action');
let formData = new FormData(form);
form_submit(form, action, formData);
}
}
function form_submit(thisForm, action, formData) {
let response = fetch(action, {
method: 'POST',
body: formData,
headers: {'X-Requested-With': 'XMLHttpRequest'}
})
.then(response => {
if( response.ok ) {
return response.json();
} else {
return response.json();
throw new Error(`${response.status} ${response.statusText} ${response.url}`);
}
})
.then(json => {
if (json.errors) {
var dataErrors = {};
for (const [key, value] of Object.entries(json.errors)) {
dataErrors.key = value;
}
showErrors(dataErrors);
}
if (json.status == 'error') {
showErrors({'error': json.message});
}
if (json.status == 'success') {
window.location.href = json.redirect;
}
})
.catch(error => {
console.log('AAA catch error = ', error);
showErrors({'error': error});
});
return false;
}
function showErrors(errors) {
if (!Object.keys(errors).length) {
......
......@@ -282,11 +282,9 @@
const withinDropdown = e.composedPath().includes(navbarDropdown);
const withinBoundaries = e.composedPath().includes(navbarDropdownUl);
if (withinDropdown && !withinBoundaries) {
console.log('AAA 1');
e.preventDefault();
navbarDropdownUl.classList.toggle('visible');
} else if (!withinBoundaries) {
console.log('AAA 2');
navbarDropdownUl.classList.remove('visible');
}
});
......
......@@ -15,15 +15,18 @@
<div class="b-social text-center">
<div class="row">
<a class="btn btn-google" href="{{ route('login.google') }}" role="button"><img src="https://img.icons8.com/color/16/000000/google-logo.png"> Sign in with Google</a>
<a class="btn btn-google" href="{{ route('login.google') }}" role="button"><img src="https://img.icons8.com/color/16/000000/google-logo.png"> Продовжити з Google</a>
</div>
<br>
<div class="row b-social_apple">
<?php /* ?>
@signInWithApple("white", true, "sign-in", 10)
<?php */ ?>
<a class="btn-apple" href="/login/apple" id="sign-in-with-apple"><b></b> Продовжити з Apple</a>
</div>
<br>
<div class="row">
<a class="btn btn-email" href="#" role="button">Продовжити за допомогою e-mail</a>
<a class="btn btn-email" href="#" role="button">Продовжити з e-mail</a>
</div>
</div>
......
......@@ -11,6 +11,7 @@
<link href="assets/vendor/glightbox/css/glightbox.min.css" rel="stylesheet">
<link href="assets/vendor/remixicon/remixicon.css" rel="stylesheet">
<link href="assets/vendor/swiper/swiper-bundle.min.css" rel="stylesheet">
<link href="assets/css/fonts.css" rel="stylesheet">
<link href="assets/css/style.css" rel="stylesheet">
<link href="assets/css/common.css" rel="stylesheet">
......
......@@ -27,7 +27,7 @@
<div>
<div class="row">
<a class="btn btn-google" href="{{ route('login.google') }}" role="button"><img src="https://img.icons8.com/color/16/000000/google-logo.png"> Sign in with Google</a>
<a class="btn btn-google" href="{{ route('login.google') }}" role="button"><img src="https://img.icons8.com/color/16/000000/google-logo.png"> Продовжити з Google</a>
</div>
<br>
<div class="row b-social_apple">
......@@ -35,7 +35,7 @@
</div>
<br>
<div class="row">
<a class="btn btn-email" href="#" role="button">Продовжити за допомогою e-mail</a>
<a class="btn btn-email" href="#" role="button">Продовжити з e-mail</a>
</div>
</div>
</div>
......
......@@ -15,7 +15,7 @@
<div class="form-group">
<label for='email'>Ваша електронна пошта</label>
<input class="form-control" type="email" id="email" name="email" value="{{ auth()->user()->email }}">
<input class="form-control" type="email" id="email" name="email" readonly value="{{ auth()->user()->email }}">
</div>
<div class="form-group">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment