mirror of
https://github.com/kevin-DL/complete-node-bootcamp.git
synced 2026-01-20 14:45:12 +00:00
Initial commit 🚀
This commit is contained in:
68
4-natours/after-section-13/public/js/index.js
Normal file
68
4-natours/after-section-13/public/js/index.js
Normal file
@@ -0,0 +1,68 @@
|
||||
/* 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);
|
||||
});
|
||||
Reference in New Issue
Block a user