Skip to content

Commit

Permalink
Merge pull request #9 from Lussuru/master
Browse files Browse the repository at this point in the history
  • Loading branch information
keksobot committed Sep 20, 2024
2 parents c848717 + 627b65b commit 4ad718c
Showing 1 changed file with 29 additions and 27 deletions.
56 changes: 29 additions & 27 deletions js/messages.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,49 +8,51 @@ const errorMessageTemplate = body.querySelector('#error')
.content
.querySelector('.error');

const isSuccessMessage = (message) => {
if(message === successMessageTemplate) {
return successMessageTemplate;
} else {
return errorMessageTemplate;
}
};

const closeMessage = () => {
const message = document.querySelector('.message');
const message =
document.querySelector('.success') || document.querySelector('.error');

message.remove();
document.removeEventListener('keydown', onDocumentKeydown);
};

const onDocumentKeydown = (evt) => {
function onDocumentKeydown(evt) {
if (isEscapeKey(evt)) {
evt.preventDefault();
closeMessage();
}
};

const renderMessage = (message) => {
isSuccessMessage(message);
const messageCloseButton = message.querySelector('button');

messageCloseButton.addEventListener('click', () => closeMessage());

message.addEventListener('click', (evt) => {
if(evt.target.matches('.message')) {
closeMessage();
}
});
}

document.addEventListener('keydown', onDocumentKeydown, {once:true});
const onMessageCloseButtonClick = () => {
closeMessage();
};

body.insertAdjacentElement('beforeend', message);
const onOutsideMessageClick = (evt) => {
if(evt.target.matches('.message')) {
closeMessage();
}
};

const initSuccessMessage = () => {
renderMessage(successMessageTemplate);
const successMessage = successMessageTemplate;
const successMessageButton = successMessageTemplate.querySelector('button');

body.insertAdjacentElement('beforeend', successMessage);

successMessage.addEventListener('click', onOutsideMessageClick);
document.addEventListener('keydown', onDocumentKeydown);
successMessageButton.addEventListener('click', onMessageCloseButtonClick);
};

const initErrorMessage = () => {
renderMessage(errorMessageTemplate);
const errorMessage = errorMessageTemplate;
const errorMessageButton = errorMessageTemplate.querySelector('button');

body.insertAdjacentElement('beforeend', errorMessage);

errorMessage.addEventListener('click', onOutsideMessageClick);
document.addEventListener('keydown', onDocumentKeydown);
errorMessageButton.addEventListener('click', onMessageCloseButtonClick);
};

export { initSuccessMessage, initErrorMessage };

0 comments on commit 4ad718c

Please sign in to comment.