Files
complete-node-bootcamp/4-natours/after-section-13/public/js/index.js
Jonas Schmedtmann 7f81af0ddf Initial commit 🚀
2019-06-13 15:43:15 +01:00

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);
});