diff --git a/index.html b/index.html index b35bba3..721e953 100644 --- a/index.html +++ b/index.html @@ -233,7 +233,7 @@

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

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

- diff --git a/js/data.js b/js/data.js new file mode 100644 index 0000000..34d3200 --- /dev/null +++ b/js/data.js @@ -0,0 +1,76 @@ +import {getRandomInteger} from './util.js' + +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/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 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