function iOSSafari() {
var ua = window.navigator.userAgent;
var iOS = ua.match(/Macintosh/i) || ua.match(/iPad/i) || ua.match(/iPhone/i);
var webkit = ua.match(/WebKit/i);
var iOSSafari = iOS && webkit && !ua.match(/CriOS/i) && !ua.match(/EdgiOS/i) && !ua.match(/Chrome/i) && !ua.match(/Edg/i);
return iOSSafari;
}
function openModal(target) {
$(target).show().addClass('in');
$('.modal-backdrop').addClass('in');
$('body').append('
');
}
function closeModal() {
$('#loginModal').hide().removeClass('in');
$('.modal-backdrop').removeClass('in');
$('body').find('.modal-backdrop').remove();
}
function showForm(isRegister, target) {
if (isRegister) {
$('#formLoginLabel').hide();
$('#formLogin').hide();
$('#footerFormLogin').hide();
$('#formRegisterLabel').show();
$('#formRegister').show();
$('#footerFormRegister').show();
} else {
$('#formRegisterLabel').hide();
$('#formRegister').hide();
$('#footerFormRegister').hide();
$('#formLoginLabel').show();
$('#formLogin').show();
$('#footerFormLogin').show();
}
openModal(target);
}
function login(user, passwd) {
if (user && passwd) {
$.post('/auth/users/ajax-login', {
username: user,
password: passwd
}, function(res) {
if (res.success) {
window.location.reload();
} else {
$('#labelError').text(res.message).show();
}
$('#btnLogin').removeAttr('disabled');
});
return;
}
$('#btnLogin').on('click', async function() {
const username = user || $('#formLogin input[name="uemail"]').val();
const password = passwd || $('#formLogin input[name="upass"]').val();
$(this).attr('disabled', 'disabled');
await $.post('/auth/users/ajax-login', {
username,
password
}, function(res) {
if (res.success) {
window.location.reload();
} else {
$('#labelError').text(res.message).show();
}
$('#btnLogin').removeAttr('disabled');
});
});
}
function register() {
$('#btnRegister').on('click', async function() {
const full_name = $('#formRegister input[name="ufullname"]').val();
const email = $('#formRegister input[name="uemail"]').val();
const password = $('#formRegister input[name="upass"]').val();
const password_conf = $('#formRegister input[name="upass_conf"]').val();
const captcha = $(document).find('textarea[name="g-recaptcha-response"]').val();
var rex_email = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
const validation = {
name: false,
email: false,
password: false,
password_conf: false
};
if (!full_name) {
$('#formRegister input[name="ufullname"]').parent().addClass('has-error');
} else {
validation.name = true;
}
if (!email || !rex_email.test(email)) {
$('#formRegister input[name="uemail"]').parent().addClass('has-error');
} else {
validation.email = true;
}
if (!password) {
$('#formRegister input[name="upass"]').parent().addClass('has-error');
} else {
validation.password = true;
}
if (!password_conf || password_conf !== password) {
$('#formRegister input[name="upass_conf"]').parent().addClass('has-error');
} else {
validation.password_conf = true;
}
if (validation.name && validation.email && validation.password && validation.password_conf) {
$(this).attr('disabled', 'disabled');
await $.post('/auth/users/ajax-register', {
email,
full_name,
password,
'g-recaptcha': captcha
}, function(res) {
function cb(success, msg, email, password) {
if (success) {
login(email, password);
} else {
$('#labelError').text(msg).show();
}
}
if (typeof res === 'string') {
try {
const _res = JSON.parse(res.replace("Y\n", "{\n"));
cb(_res.success, '', email, password);
} catch (e) {
console.log(e);
}
return;
}
cb(res.success, res.message, email, password);
$('#btnRegister').removeAttr('disabled');
});
} else {
alert('Vui lòng nhập đầy đủ thông tin');
}
});
}
function handleFormRegister() {
$('#formRegister button').removeAttr('disabled');
}
function checkLogin() {
$.get('/user/check-login', function(html) {
$('.navbar-right .navbar-form').after(html);
/*$('[data-toggle="modal"]').on('click', function() {
const target = $(this).data('target');
const isRegister = $(this).data('form') === 'register';
showForm(isRegister, target);
});
$('[data-dismiss="modal"]').on('click', function() {
closeModal();
});*/
});
}
$(document).ready(function() {
$('[data-toggle="modal"]').on('click', function() {
const target = $(this).data('target');
const isRegister = $(this).data('form') === 'register';
showForm(isRegister, target);
});
$('[data-dismiss="modal"]').on('click', function() {
closeModal();
});
/*login();
register();*/
checkLogin();
$('#ads-fl-l').attr('src', $('#ads-fl-l').data('src'));
$('#ads-fl-r').attr('src', $('#ads-fl-r').data('src'));
const btnPostBook = document.querySelectorAll('[data-action="post-new-book"]');
(btnPostBook || []).forEach((btnPost) => {
btnPost.addEventListener('click', function() {
$.get('/api/services/get-post-link', function(res) {
if (res?.url !== '') {
/*let newTab = window.open();
newTab.location.href = res.url;*/
if (iOSSafari()) {
setTimeout(() => {
window.open(res.url, '_blank');
});
} else {
const a = document.createElement('a');
a.setAttribute('href', res.url);
a.setAttribute('target', '_blank');
a.innerHTML = "Đăng truyện";
a.classList.add("hidden");
document.getElementsByTagName('body')[0].appendChild(a);
a.click();
a.remove();
}
}
});
});
});
});