Skip to content

Commit 631bc63

Browse files
authored
Merge pull request #14 from PAVLUXAN/module12-task2
2 parents f964811 + 8ac1d72 commit 631bc63

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

js/filter.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ const applyFilter = (photos) => {
2626
if(currentFilter === FILTER.discussed) {
2727
filteredPictures = photos.toSorted((a,b) => b.comments.length - a.comments.length);
2828
}
29-
//renderPhoto(filteredPictures);
3029
debounceRender(filteredPictures);
3130
};
3231

js/img-form-uploader.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { sendData } from './api.js';
55
import { showSuccess, showErrorSending } from './response.js';
66

77
const SCALE_STEP = 0.25;
8+
const FILE_TYPES = ['jpg', 'jpeg', 'png'];
89

910
const imgUploadForm = document.querySelector('.img-upload__form');
1011
const uploadOverlay = imgUploadForm.querySelector('.img-upload__overlay');
@@ -19,6 +20,8 @@ const effectList = imgUploadForm.querySelector('.effects__list');
1920
const inputHashtag = imgUploadForm.querySelector('.text__hashtags');
2021
const inputText = imgUploadForm.querySelector('.text__description');
2122
const imgButtonSubmit = uploadOverlay.querySelector('.img-upload__submit');
23+
const imgUploadButton = imgUploadForm.querySelector('.img-upload__input');
24+
const imgEffects = document.querySelectorAll('.effects__preview');
2225

2326
let scale = 1;
2427

@@ -78,13 +81,30 @@ imgUploadForm.addEventListener('input', () => {
7881
imgButtonSubmit.disabled = !isValid;
7982
});
8083

84+
const fileUploadChange = () =>{
85+
const file = imgUploadButton.files[0];
86+
const fileName = file.name.toLowerCase();
87+
const fileExt = fileName.split('.').pop();
88+
const matches = FILE_TYPES.includes(fileExt);
89+
if(matches) {
90+
const url = URL.createObjectURL(file);
91+
img.src = url;
92+
imgEffects.forEach((item) => {
93+
item.style.backgroundImage = `url(${url})`;
94+
});
95+
}else {
96+
return;
97+
}
98+
onPhotoSelect();
99+
};
100+
81101
imgButtonSubmit.disabled = !pristine.validate();
82102

83103
pristine.addValidator(inputHashtag, isHashtagsValid, getError, 2, false);
84104

85105
pristine.addValidator(inputText, isCommentValid, getError, 2, false);
86106

87-
uploadFile.addEventListener('change', onPhotoSelect);
107+
uploadFile.addEventListener('change', fileUploadChange);
88108

89109
smallerButton.addEventListener('click', scaleDownImage);
90110

0 commit comments

Comments
 (0)