From 077bc7da5ad54aeb2f270b4b7a143a584a63389e Mon Sep 17 00:00:00 2001 From: ClaireFotina Date: Wed, 20 Nov 2024 21:51:28 +0400 Subject: [PATCH 1/3] =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B0=D0=B5=D1=82=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 4 +++ js/data.js | 76 ++++++++++++++++++++++++++++++++++++++++++++ js/main.js | 93 ++---------------------------------------------------- js/util.js | 9 ++++++ 4 files changed, 92 insertions(+), 90 deletions(-) create mode 100644 js/data.js create mode 100644 js/util.js diff --git a/index.html b/index.html index b35bba3..5e2afed 100644 --- a/index.html +++ b/index.html @@ -235,5 +235,9 @@

Не удалось загрузить данны + + diff --git a/js/data.js b/js/data.js new file mode 100644 index 0000000..c5289c5 --- /dev/null +++ b/js/data.js @@ -0,0 +1,76 @@ +import {getRandomInteger} from './util' + +const COUNT_PHOTO = 25; +const MIN_LIKES = 15; +const MAX_LIKES = 200; +const DESCRIPTIONS = [ + 'Утро', + 'Котик', + 'Луна', + 'Молния', + 'Море', + 'Горы', + 'Компьютер', + 'Солнышко', + 'Велосипед', + 'Машина', +] +const COUNT_COMMENT = 30; +const MIN_AVATAR = 1; +const MAX_AVATAR = 6; +const MESSAGE = [ + 'Всё отлично!', + 'В целом всё неплохо. Но не всё.', + 'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.', + 'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.', + 'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.', + 'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!' +] + +const NAME = [ + 'Артем', + 'Настя', + 'Михаил', + 'Анна', + 'Павел', + 'Елена', + 'Костя', + 'Сергей' +] + +const getComments = () => { + const comments = []; + const countComments = getRandomInteger(0, COUNT_COMMENT); + for (let i = 1; i <= countComments; i++) { + comments.push({ + id: getRandomInteger(0, 1000), + avatar: `img/avatar-${getRandomInteger(MIN_AVATAR, MAX_AVATAR)}.svg`, + message: MESSAGE[getRandomInteger(0, MESSAGE.length - 1)], + name: NAME[getRandomInteger(0, NAME.length - 1)] + } + ) + } + return comments +} + + +const getPhoto = (i) => { + return { + id: i, + url: `photos/${i}.jpg`, + description: DESCRIPTIONS[getRandomInteger(0, DESCRIPTIONS.length - 1)], + likes: getRandomInteger(MIN_LIKES, MAX_LIKES), + comments: getComments() + } +} + +const getData = () => { + const data = []; + for (let i = 1; i <= COUNT_PHOTO; i++) { + data.push(getPhoto(i)) + } + + return data; +} + +export {getData}; \ No newline at end of file diff --git a/js/main.js b/js/main.js index 66cb4d6..c20bccc 100644 --- a/js/main.js +++ b/js/main.js @@ -1,92 +1,5 @@ -const COUNT_PHOTO = 25; -const MIN_LIKES = 15; -const MAX_LIKES= 200; -const DESCRIPTIONS = [ - 'Утро', - 'Котик', - 'Луна', - 'Молния', - 'Море', - 'Горы', - 'Компьютер', - 'Солнышко', - 'Велосипед', - 'Машина', -] -const COUNT_COMMENT = 30; -const MIN_AVATAR = 1; -const MAX_AVATAR = 6; -const MESSAGE = [ - 'Всё отлично!', - 'В целом всё неплохо. Но не всё.', - 'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.', - 'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.', - 'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.', - 'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!' -] +import {getData} from './data.js' -const NAME = [ - 'Артем', - 'Настя', - 'Михаил', - 'Анна', - 'Павел', - 'Елена', - 'Костя', - 'Сергей' -] +const data = getData(); -const getRandomInteger = (min, max) => { - const lower = Math.ceil(Math.min(Math.abs(min), Math.abs(max))); - const upper = Math.floor(Math.max(Math.abs(min), Math.abs(max))); - const result = Math.random() * (upper - lower + 1) + lower; - - return Math.floor(result) -} - - -const getComment = (j) => { - return { - id: getRandomInteger(0,1000), - avatar: `img/avatar-${getRandomInteger(MIN_AVATAR, MAX_AVATAR)}.svg`, - message: MESSAGE[getRandomInteger(0, MESSAGE.length - 1)], - name: NAME[getRandomInteger(0, NAME.length - 1)] - } -} - -const getComments = () => { - const comments = []; - const countComments = getRandomInteger(0, COUNT_COMMENT); - for(let i = 1; i<=countComments; i++) { - comments.push({ - id: getRandomInteger(0,1000), - avatar: `img/avatar-${getRandomInteger(MIN_AVATAR, MAX_AVATAR)}.svg`, - message: MESSAGE[getRandomInteger(0, MESSAGE.length - 1)], - name: NAME[getRandomInteger(0, NAME.length - 1)] - } - ) - } - return comments -} - - -const getPhoto = (i) => { - return { - id: i, - url: `photos/${i}.jpg`, - description: DESCRIPTIONS[getRandomInteger(0, DESCRIPTIONS.length - 1)], - likes: getRandomInteger(MIN_LIKES, MAX_LIKES), - comments: getComments() - } -} - - const getData = () => { - const data = []; - for(let i = 1; i<=COUNT_PHOTO; i++) { - data.push(getPhoto(i)) -} - -return data; - } - - console.log(getData()); \ No newline at end of file +console.log(data) \ No newline at end of file diff --git a/js/util.js b/js/util.js new file mode 100644 index 0000000..11521e0 --- /dev/null +++ b/js/util.js @@ -0,0 +1,9 @@ +const getRandomInteger = (min, max) => { + const lower = Math.ceil(Math.min(Math.abs(min), Math.abs(max))); + const upper = Math.floor(Math.max(Math.abs(min), Math.abs(max))); + const result = Math.random() * (upper - lower + 1) + lower; + + return Math.floor(result) + } + + export {getRandomInteger}; \ No newline at end of file From a763123edee03ee5339387bf06683551f21d15a1 Mon Sep 17 00:00:00 2001 From: ClaireFotina Date: Thu, 21 Nov 2024 09:43:25 +0400 Subject: [PATCH 2/3] =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D0=B0=D0=B5=D1=82=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=B2=20?= =?UTF-8?q?=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8F=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 6 +----- js/data.js | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index 5e2afed..721e953 100644 --- a/index.html +++ b/index.html @@ -233,11 +233,7 @@

Изображение успешно загруже

Не удалось загрузить данные

- - - diff --git a/js/data.js b/js/data.js index c5289c5..34d3200 100644 --- a/js/data.js +++ b/js/data.js @@ -1,4 +1,4 @@ -import {getRandomInteger} from './util' +import {getRandomInteger} from './util.js' const COUNT_PHOTO = 25; const MIN_LIKES = 15; From 168443512dcaa059ba1866476a32a747dc15a44a Mon Sep 17 00:00:00 2001 From: ClaireFotina Date: Thu, 21 Nov 2024 11:39:43 +0400 Subject: [PATCH 3/3] =?UTF-8?q?=D0=B4o=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5?= =?UTF-8?q?=D1=82=204=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D1=83=20=D0=B2=20fu?= =?UTF-8?q?nctions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/functions.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/js/functions.js b/js/functions.js index 44dc821..9f9029f 100644 --- a/js/functions.js +++ b/js/functions.js @@ -36,4 +36,23 @@ const cutNumber = (text) => { //console.log(cutNumber('dhjlh4 hlfgh3 f7 j e8')) -// 4378 \ No newline at end of file +// 4378 + +// task 4 + +const MINUTES_IN_HOUR = 60; + +const getTimePoint = (time) => { +const [hour, min] = time.split(':'); +return hour * MINUTES_IN_HOUR + Number(min) +} + +const checkMeeting = (start, end, startMeet, duringMeet) => { + const startPoint = getTimePoint(start); + const endPoint = getTimePoint(end); + const startMeetPoint = getTimePoint(startMeet); + const endMeetPoint = startMeetPoint + duringMeet; + return (startMeetPoint >= startPoint && startMeetPoint <= endPoint && endMeetPoint >= startPoint && endMeetPoint <= endPoint) +} + +// console.log(checkMeeting('8:00', '18:00', '12:00', 90)) \ No newline at end of file