Skip to content

Commit 97326f3

Browse files
authored
Merge pull request #7 from n4lla0326/module5-task1
2 parents 71d11db + ce74a52 commit 97326f3

4 files changed

Lines changed: 93 additions & 83 deletions

File tree

index.html

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,7 @@ <h2 class="data-error__title">Не удалось загрузить данны
250250
</section>
251251
</template>
252252

253-
<script src="js/main.js"></script>
254-
253+
<script src="js/main.js" type="module"></script>
255254
</body>
256255

257-
</html>
256+
</html>

js/data.js

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import { getRandomArrayElement } from './util.js';
2+
3+
const NAMES = [
4+
'Артём',
5+
'Борис',
6+
'Владимир',
7+
'Григорий',
8+
'Денис',
9+
'Анастасия',
10+
'Валерия',
11+
'Елена',
12+
'Ирина',
13+
'Ксения'
14+
];
15+
16+
const DESCRIPTIONS = [
17+
'Впечатления, которые остаются навсегда.',
18+
'Каждый кадр - часть летней истории.',
19+
'Простые вещи - самые важные.',
20+
'Отдых - это искусство жить.',
21+
'Вдохновение в каждом дне.',
22+
'Уют в простых вещах.',
23+
'Счастье в мелочах вокруг.',
24+
'Эмоции, которые остаются навсегда.',
25+
'Вкус к жизни в каждом дне.',
26+
'Любовь к жизни в деталях.'
27+
];
28+
29+
const MESSAGES = [
30+
'Всё отлично!В целом всё неплохо.Но не всё.',
31+
'Когда вы делаете фотографию, хорошо бы убирать палец из кадра.',
32+
'В конце концов это просто непрофессионально.',
33+
'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.',
34+
'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.',
35+
'Лица у людей на фотке перекошены, как будто их избивают.',
36+
'Как можно было поймать такой неудачный момент ?!'
37+
];
38+
39+
const SIMILAR_ARRAY_COUNT = 25;
40+
const id = 25;
41+
const likes = {
42+
MIN: 15,
43+
MAX: 200
44+
};
45+
const COMMENTS = 30;
46+
const Avatar = {
47+
MIN: 1,
48+
MAX: 6
49+
};
50+
const CommetsId = {
51+
MIN: 10000,
52+
MAX: 1_000_000
53+
};
54+
55+
const getComment = () => ({
56+
id: getRandomInteger(CommetsId.MIN, CommetsId.MAX),
57+
name: getRandomArrayElement(NAMES),
58+
message: getRandomArrayElement(MESSAGES),
59+
avatar: `./img/avatar-${getRandomInteger(Avatar.MIN, Avatar.MAX)}.svg`
60+
});
61+
62+
const createArray = (i) => ({
63+
description: getRandomArrayElement(DESCRIPTIONS),
64+
id: i,
65+
url: `./pictures/${i}.jpg`,
66+
likes: getRandomInteger(Likes.MIN, Likes.MAX),
67+
comments: Array.from({ length: getRandomInteger(0, COMMENTS) }, getComment)
68+
});
69+
70+
const similarArray = () => Array.from({ length: SIMILAR_ARRAY_COUNT }, (_, i) => createArray(i + 1));
71+
72+
export { similarArray };
73+
74+
75+

js/main.js

Lines changed: 5 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,7 @@
1-
const NAMES = [
2-
'Артём',
3-
'Борис',
4-
'Владимир',
5-
'Григорий',
6-
'Денис',
7-
'Анастасия',
8-
'Валерия',
9-
'Елена',
10-
'Ирина',
11-
'Ксения'
12-
];
13-
14-
const DESCRIPTIONS = [
15-
'Впечатления, которые остаются навсегда.',
16-
'Каждый кадр - часть летней истории.',
17-
'Простые вещи - самые важные.',
18-
'Отдых - это искусство жить.',
19-
'Вдохновение в каждом дне.',
20-
'Уют в простых вещах.',
21-
'Счастье в мелочах вокруг.',
22-
'Эмоции, которые остаются навсегда.',
23-
'Вкус к жизни в каждом дне.',
24-
'Любовь к жизни в деталях.'
25-
];
26-
27-
const MESSAGES = [
28-
'Всё отлично!В целом всё неплохо.Но не всё.',
29-
'Когда вы делаете фотографию, хорошо бы убирать палец из кадра.',
30-
'В конце концов это просто непрофессионально.',
31-
'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.',
32-
'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.',
33-
'Лица у людей на фотке перекошены, как будто их избивают.',
34-
'Как можно было поймать такой неудачный момент ?!'
35-
];
36-
37-
const SIMILAR_ARRAY_COUNT = 25;
38-
const id = 25;
39-
const likes = {
40-
MIN: 15,
41-
MAX: 200
42-
};
43-
const COMMENTS = 30;
44-
const Avatar = {
45-
MIN: 1,
46-
MAX: 6
47-
};
48-
const CommetsId = {
49-
MIN: 10000,
50-
MAX: 1_000_000
51-
};
52-
53-
const getRandomInteger = (a, b) => {
54-
const lower = Math.ceil(Math.min(a, b));
55-
const upper = Math.floor(Math.max(a, b));
56-
const result = Math.random() * (upper - lower + 1) + lower;
57-
return Math.floor(result);
58-
};
59-
60-
const getRandomArrayElement = (elements) =>
61-
elements[getRandomInteger(0, elements.length - 1)];
62-
63-
const getComment = () => ({
64-
id: getRandomInteger(CommetsId.MIN, CommetsId.MAX),
65-
name: getRandomArrayElement(NAMES),
66-
message: getRandomArrayElement(MESSAGES),
67-
avatar: `./img/avatar-${getRandomInteger(Avatar.MIN, Avatar.MAX)}.svg`
68-
});
69-
70-
const createArray = (i) => ({
71-
description: getRandomArrayElement(DESCRIPTIONS),
72-
id: i,
73-
url: `./pictures/${i}.jpg`,
74-
likes: getRandomInteger(Likes.MIN, Likes.MAX),
75-
comments: Array.from({ length: getRandomInteger(0, COMMENTS) }, getComment)
76-
});
77-
78-
const similarArray = Array.from({ length: SIMILAR_ARRAY_COUNT }, (_, i) => createArray(i + 1));
79-
80-
console.log(similarArray);
1+
import './util.js';
2+
import { similarArray } from './data.js';
813

4+
console.log(
5+
similarArray()
6+
);
827

js/util.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const getRandomInteger = (a, b) => {
2+
const lower = Math.ceil(Math.min(a, b));
3+
const upper = Math.floor(Math.max(a, b));
4+
const result = Math.random() * (upper - lower + 1) + lower;
5+
return Math.floor(result);
6+
};
7+
8+
const getRandomArrayElement = (elements) =>
9+
elements[getRandomInteger(0, elements.length - 1)];
10+
11+
export { getRandomArrayElement };

0 commit comments

Comments
 (0)