From bb110807befc9b82da97b125e5e721f31c31b8ec Mon Sep 17 00:00:00 2001 From: Kate Date: Mon, 7 Oct 2024 20:07:13 +0700 Subject: [PATCH 1/2] =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D0=B0=D0=B5=D1=82=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=BC=D0=B0=D1=88=D0=BD=D0=B5=D0=B5=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 1 + js/main.js | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+) diff --git a/index.html b/index.html index 1737192..96c26bf 100644 --- a/index.html +++ b/index.html @@ -235,5 +235,6 @@

Не удалось загрузить данны + diff --git a/js/main.js b/js/main.js index e69de29..dc8e795 100644 --- a/js/main.js +++ b/js/main.js @@ -0,0 +1,111 @@ +const MESSAGES = [ + 'Всё отлично!', + 'В целом всё неплохо. Но не всё', + 'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально', + 'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше', + 'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше', + 'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!' +]; + +const NAMES = [ + 'Зина', + 'Ирина', + 'Арина', + 'Мальвина', + 'Полина', + 'Марина', + 'Виталина', + 'Катерина', + 'Георгина', + 'Филипп', +]; + +const DESCRIPTIONS = [ + 'Кто на лавочке сидел', + 'Кто на улицу глядел', + 'Толя пел', + 'Борис молчал', + 'Николай ногой качал', + 'Дело было вечером', + 'Делать было нечего', + 'Галка села на заборе', + 'Кот забрался на чердак', + 'Тут сказал ребятам Боря', + 'Просто так', + 'А у меня в кармане гвоздь!А у вас?', + 'А у нас сегодня гость! А у вас?', + 'А у нас сегодня кошка родила вчера котят', + 'Котята выросли немножко, а есть из блюдца не хотят!', + 'А у нас в квартире газ!А у вас?', + 'А у нас водопровод! Вот!', + 'А из нашего окна площадь Красная видна!', + 'А из вашего окошка только улица немножко', + 'Мы гуляли по Неглинной', + 'Заходили на бульвар', + 'Нам купили синий-синий презеленый красный шар!', + 'А у нас огонь погас — это раз!', + 'Грузовик привез дрова — это два!' +]; + +const MIN_LIKES = 15; +const MAX_LIKES = 200; +const MIN_COMMENTS = 0; +const MAX_COMMENTS = 30; +const MIN_AVATAR = 1; +const MAX_AVATAR = 6; +const PHOTO_LIST_LENGTH = 25; + +const getRandomInteger = (a, b) => { + const lower = Math.ceil(Math.min(a, b)); + const upper = Math.floor(Math.max(a, b)); + let previousResult = -1; + return () => { + const result = Math.floor(Math.random() * (upper - lower + 1) + lower); + if (previousResult !== result) { + previousResult = result; + return result; + } + return result === upper ? lower : result + 1; + }; +}; + +const createComment = () => { + let id = 1; + const randomMessageIndex = getRandomInteger(0, MESSAGES.length - 1); + const randomNameIndex = getRandomInteger(0, NAMES.length - 1); + + return () => { + const comment = {}; + const idAvatar = getRandomInteger(MIN_AVATAR, MAX_AVATAR); + comment.id = id++; + comment.avatar = 'img/avatar-{idAvatar()}.svg'; + comment.message = MESSAGES[randomMessageIndex()]; + comment.name = NAMES[randomNameIndex()]; + + return comment; + }; +}; + +const createPhoto = () => { + let id = 1; + + return () => { + const photo = {}; + const quantComments = getRandomInteger(MIN_COMMENTS, MAX_COMMENTS); + const quantLikes = getRandomInteger(MIN_LIKES, MAX_LIKES); + const randomDescriptionIndex = getRandomInteger(0, DESCRIPTIONS.length - 1); + + photo.id = id; + photo.url = 'photos/{id}.jpg'; + photo.description = DESCRIPTIONS[randomDescriptionIndex()]; + photo.likes = quantLikes(); + photo.comments = Array.from({length: quantComments()}, createComment()); + id++; + return photo; + + }; +}; + +const photoList = Array.from({length: PHOTO_LIST_LENGTH}, createPhoto()); + +console.log(photoList); From 2c588df93396482dca8748fbd1629556f08b6ee0 Mon Sep 17 00:00:00 2001 From: Kate Date: Mon, 7 Oct 2024 20:14:37 +0700 Subject: [PATCH 2/2] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D1=8F=D0=B5=D1=82=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83=20?= =?UTF-8?q?=D1=81=D0=BE=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B0=D0=BC=D0=B8?= =?UTF-8?q?=20=D0=BD=D0=B0=20=D1=84=D0=BE=D1=82=D0=BE=D0=B3=D1=80=D0=B0?= =?UTF-8?q?=D1=84=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/main.js b/js/main.js index dc8e795..6af77ed 100644 --- a/js/main.js +++ b/js/main.js @@ -78,7 +78,7 @@ const createComment = () => { const comment = {}; const idAvatar = getRandomInteger(MIN_AVATAR, MAX_AVATAR); comment.id = id++; - comment.avatar = 'img/avatar-{idAvatar()}.svg'; + comment.avatar = `img/avatar-${idAvatar()}.svg`; comment.message = MESSAGES[randomMessageIndex()]; comment.name = NAMES[randomNameIndex()]; @@ -96,7 +96,7 @@ const createPhoto = () => { const randomDescriptionIndex = getRandomInteger(0, DESCRIPTIONS.length - 1); photo.id = id; - photo.url = 'photos/{id}.jpg'; + photo.url = `photos/${id}.jpg`; photo.description = DESCRIPTIONS[randomDescriptionIndex()]; photo.likes = quantLikes(); photo.comments = Array.from({length: quantComments()}, createComment());