|
1 | | -const COMMENTS_AUTHOR_NAMES = [ |
2 | | - 'Анна', |
3 | | - 'Анастасия', |
4 | | - 'Виктория', |
5 | | - 'Виктор', |
6 | | - 'Павел', |
7 | | - 'Кирилл', |
8 | | - 'Лидия', |
9 | | - 'Мария', |
10 | | - 'Антон', |
11 | | - 'Екатерина', |
12 | | - 'Леонид', |
13 | | - 'Михаил', |
14 | | - 'Светлана', |
15 | | - 'Алена', |
16 | | - 'Оксана', |
17 | | - 'Вячеслав' |
18 | | -]; |
| 1 | +import { createPhotos } from './generate-data'; |
19 | 2 |
|
20 | | -const PHOTO_DESCRIPTIONS = [ |
21 | | - 'Горы на рассвете', |
22 | | - 'Закат на море', |
23 | | - 'Селфи на фоне памятника', |
24 | | - 'Защита диплома', |
25 | | - 'Спящая кошка', |
26 | | - 'Пустой пляж', |
27 | | - 'Верблюды в пустыне', |
28 | | - 'Собака играет с мячом', |
29 | | - 'Дети на детской площадке', |
30 | | - 'Самолет в небе', |
31 | | - 'Толпа людей на концерте', |
32 | | - 'Вагон поезда', |
33 | | - 'Выпускной в школе', |
34 | | - 'Коллекция марок', |
35 | | -]; |
36 | | - |
37 | | -const COMMENTS_MESSAGES = ['Всё отлично!', |
38 | | - 'В целом всё неплохо.', 'Но не всё.', |
39 | | - 'Когда вы делаете фотографию, хорошо бы убирать палец из кадра.', |
40 | | - 'В конце концов это просто непрофессионально.', |
41 | | - 'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.', |
42 | | - 'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.', |
43 | | - 'Лица у людей на фотке перекошены, как будто их избивают.', |
44 | | - 'Как можно было поймать такой неудачный момент?!' |
45 | | -]; |
46 | | -const getRandomInteger = (num1, num2) => { |
47 | | - const lower = Math.ceil(Math.min(num1, num2)); |
48 | | - const upper = Math.floor(Math.max(num1, num2)); |
49 | | - const result = Math.random() * (upper - lower + 1) + lower; |
50 | | - return Math.floor(result); |
51 | | -}; |
52 | | - |
53 | | -const getRandomElement = (arr) => arr[getRandomInteger(0, arr.length - 1)]; |
54 | | - |
55 | | -const getRandomMessage = (array) => { |
56 | | - const count = getRandomInteger(1, 2); |
57 | | - return count === 1 ? |
58 | | - getRandomElement(array) |
59 | | - : `${getRandomElement(array)} ${getRandomElement(array)}`; |
60 | | -}; |
61 | | - |
62 | | -const createComment = (_, index) => ({ |
63 | | - id: index, |
64 | | - avatar: `img/avatar-${getRandomInteger(1, 6)}.svg`, |
65 | | - message: getRandomMessage(COMMENTS_MESSAGES), |
66 | | - name: getRandomElement(COMMENTS_AUTHOR_NAMES), |
67 | | -}); |
68 | | - |
69 | | -const createPhoto = (_, index) => ({ |
70 | | - id: index + 1, |
71 | | - url: `photos/${index + 1}.jpg`, |
72 | | - description: getRandomElement(PHOTO_DESCRIPTIONS), |
73 | | - likes: getRandomInteger(15, 200), |
74 | | - comments: Array.from({length: getRandomInteger(0, 30)}, createComment), |
75 | | -}); |
76 | | - |
77 | | -export const photos = Array.from({length: 25}, createPhoto); |
| 3 | +createPhotos(); |
0 commit comments