mirror of
https://github.com/kevin-DL/complete-node-bootcamp.git
synced 2026-01-16 05:04:34 +00:00
69 lines
2.3 KiB
JavaScript
69 lines
2.3 KiB
JavaScript
/* eslint-disable */
|
|
import '@babel/polyfill';
|
|
import { displayMap } from './mapbox';
|
|
import { login, logout } from './login';
|
|
import { updateSettings } from './updateSettings';
|
|
import { bookTour } from './stripe';
|
|
|
|
// DOM ELEMENTS
|
|
const mapBox = document.getElementById('map');
|
|
const loginForm = document.querySelector('.form--login');
|
|
const logOutBtn = document.querySelector('.nav__el--logout');
|
|
const userDataForm = document.querySelector('.form-user-data');
|
|
const userPasswordForm = document.querySelector('.form-user-password');
|
|
const bookBtn = document.getElementById('book-tour');
|
|
|
|
// DELEGATION
|
|
if (mapBox) {
|
|
const locations = JSON.parse(mapBox.dataset.locations);
|
|
displayMap(locations);
|
|
}
|
|
|
|
if (loginForm)
|
|
loginForm.addEventListener('submit', e => {
|
|
e.preventDefault();
|
|
const email = document.getElementById('email').value;
|
|
const password = document.getElementById('password').value;
|
|
login(email, password);
|
|
});
|
|
|
|
if (logOutBtn) logOutBtn.addEventListener('click', logout);
|
|
|
|
if (userDataForm)
|
|
userDataForm.addEventListener('submit', e => {
|
|
e.preventDefault();
|
|
const form = new FormData();
|
|
form.append('name', document.getElementById('name').value);
|
|
form.append('email', document.getElementById('email').value);
|
|
form.append('photo', document.getElementById('photo').files[0]);
|
|
console.log(form);
|
|
|
|
updateSettings(form, 'data');
|
|
});
|
|
|
|
if (userPasswordForm)
|
|
userPasswordForm.addEventListener('submit', async e => {
|
|
e.preventDefault();
|
|
document.querySelector('.btn--save-password').textContent = 'Updating...';
|
|
|
|
const passwordCurrent = document.getElementById('password-current').value;
|
|
const password = document.getElementById('password').value;
|
|
const passwordConfirm = document.getElementById('password-confirm').value;
|
|
await updateSettings(
|
|
{ passwordCurrent, password, passwordConfirm },
|
|
'password'
|
|
);
|
|
|
|
document.querySelector('.btn--save-password').textContent = 'Save password';
|
|
document.getElementById('password-current').value = '';
|
|
document.getElementById('password').value = '';
|
|
document.getElementById('password-confirm').value = '';
|
|
});
|
|
|
|
if (bookBtn)
|
|
bookBtn.addEventListener('click', e => {
|
|
e.target.textContent = 'Processing...';
|
|
const { tourId } = e.target.dataset;
|
|
bookTour(tourId);
|
|
});
|