Skip to content

Commit cd79ee1

Browse files
authored
Merge pull request #4 from zarram89/module5-task1
2 parents cdec8a3 + 385046b commit cd79ee1

8 files changed

Lines changed: 155 additions & 323 deletions

File tree

js/constants/config.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
const CONFIG = {
2+
likes: { min: 15, max: 200 },
3+
comments: { min: 0, max: 30 },
4+
avatar: { min: 1, max: 6 },
5+
messages: { min: 1, max: 2 },
6+
};
7+
8+
export { CONFIG };

js/constants/mock.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
const MESSAGES = [
2+
'Всё отлично!',
3+
'В целом всё неплохо. Но не всё.',
4+
'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце-концов это просто непрофессионально.',
5+
'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.',
6+
'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.',
7+
'Лица у людей на фотке перекошены, как-будто их избивают. Как можно было поймать такой неудачный момент?!',
8+
];
9+
const DESCRIPTIONS = [
10+
'Летний чил на югах. #тай #отдых #лето #чил #travel #travelgram #summergram #chill',
11+
'Тестим новую камеру! #camera #test #new #newcameratest #pic #photo #instaphoto',
12+
'Затусили с друзьями на море #laptevsea #north #northeastpassage',
13+
'Как же круто тут кормят #food #foodgram #instafood #delicious #yummy',
14+
'Отдыхаем... #chill #relax #group #photo',
15+
'Цените каждое мгновенье. Цените тех, кто рядом с вами и отгоняйте все сомненья. Не обижайте всех словами......',
16+
'Вот это тачка! #wow #car #carwow #drive',
17+
'#fun #party #cool #young',
18+
'Господи, это такая милота, я сейчас умру от нежности, у меня закшалил мимимиметр',
19+
'Хорошо, когда в жизни есть #друзья, которые вместе со мной могут зайти в #барнарубинштейна и бахнуть #пивка',
20+
'Норм',
21+
];
22+
const NAMES = ['Николай', 'Аким', 'Ким', 'Харитон', 'Тимур', 'Степан'];
23+
const PICTURES_COUNT = 25;
24+
25+
export {
26+
MESSAGES,
27+
DESCRIPTIONS,
28+
NAMES,
29+
PICTURES_COUNT,
30+
};

js/data/comments.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import {
2+
MESSAGES,
3+
NAMES,
4+
} from '../constants/mock.js';
5+
import { CONFIG } from '../constants/config.js';
6+
import {
7+
getRandomInteger,
8+
getRandomItem,
9+
} from '../utils/random.js';
10+
import { createIdGenerator, } from '../utils/id.js';
11+
12+
const commentIdGenerator = createIdGenerator();
13+
14+
const getRandomAvatar = () =>
15+
`img/avatar-${getRandomInteger(CONFIG.avatar.min, CONFIG.avatar.max)}.svg`;
16+
17+
const createMessage = () =>
18+
Array.from(
19+
{ length: getRandomInteger(CONFIG.messages.min, CONFIG.messages.max) },
20+
() => getRandomItem(MESSAGES)
21+
).join(' ');
22+
23+
const createComment = () => ({
24+
id: commentIdGenerator(),
25+
avatar: getRandomAvatar(),
26+
message: createMessage(),
27+
name: getRandomItem(NAMES),
28+
});
29+
30+
const getComments = () =>
31+
Array.from(
32+
{ length: getRandomInteger(CONFIG.comments.min, CONFIG.comments.max) },
33+
createComment
34+
);
35+
36+
export { getComments };

js/data/pictures.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import {
2+
DESCRIPTIONS,
3+
PICTURES_COUNT,
4+
} from '../constants/mock.js';
5+
import {
6+
CONFIG
7+
} from '../constants/config.js';
8+
import {
9+
getRandomInteger,
10+
getRandomItem,
11+
} from '../utils/random.js';
12+
import { createIdGenerator } from '../utils/id.js';
13+
import { getComments } from './comments.js';
14+
15+
const pictureIdGenerator = createIdGenerator();
16+
17+
const createPicture = () => {
18+
const id = pictureIdGenerator();
19+
20+
return {
21+
id,
22+
url: `photos/${id}.jpg`,
23+
description: getRandomItem(DESCRIPTIONS),
24+
likes: getRandomInteger(CONFIG.likes.min, CONFIG.likes.max),
25+
comments: getComments(),
26+
};
27+
};
28+
29+
const getPictures = () =>
30+
Array.from(
31+
{ length: PICTURES_COUNT },
32+
() => createPicture()
33+
);
34+
35+
export { getPictures };

js/functions.js

Lines changed: 0 additions & 208 deletions
This file was deleted.

0 commit comments

Comments
 (0)