Skip to content

Commit c059608

Browse files
authored
Merge pull request #16 from ksenya3112/module12-task2
2 parents f88cf2d + 09e643d commit c059608

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

js/form.js

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ const MIN_SCALE = 25;
1111
const MAX_SCALE = 100;
1212
const DEFAULT_SCALE = 100;
1313

14+
const FILE_TYPES = ['jpg', 'jpeg', 'png'];
15+
1416
const EFFECTS = {
1517
none: {
1618
range: { min: 0, max: 100 },
@@ -54,6 +56,7 @@ const scaleControlSmaller = document.querySelector('.scale__control--smaller');
5456
const scaleControlBigger = document.querySelector('.scale__control--bigger');
5557
const scaleControlValue = document.querySelector('.scale__control--value');
5658
const imgPreview = document.querySelector('.img-upload__preview img');
59+
const effectsPreviews = document.querySelectorAll('.effects__preview');
5760
let currentScale = DEFAULT_SCALE;
5861

5962
const sliderContainer = document.querySelector('.img-upload__effect-level');
@@ -96,11 +99,23 @@ function onDocumentKeydown(evt) {
9699
}
97100
}
98101

99-
// Открытие формы при выборе файла
102+
// Обработчик выбора файла
100103
fileInput.addEventListener('change', () => {
101-
overlay.classList.remove('hidden');
102-
document.body.classList.add('modal-open');
103-
document.addEventListener('keydown', onDocumentKeydown);
104+
const file = fileInput.files[0];
105+
const fileName = file.name.toLowerCase();
106+
const matches = FILE_TYPES.some((it) => fileName.endsWith(it));
107+
108+
if (matches) {
109+
const url = URL.createObjectURL(file);
110+
imgPreview.src = url; // Подставляем фото в главное окно
111+
effectsPreviews.forEach((preview) => {
112+
preview.style.backgroundImage = `url(${url})`; // Подставляем в маленькие превью эффектов
113+
});
114+
115+
overlay.classList.remove('hidden');
116+
document.body.classList.add('modal-open');
117+
document.addEventListener('keydown', onDocumentKeydown);
118+
}
104119
});
105120

106121
// Обработчик клика по кнопке 'отмена' (крестик)

0 commit comments

Comments
 (0)