Skip to content

Commit 30c38e6

Browse files
authored
Merge pull request #5 from natalya87324/module5-task1
Модуляция
2 parents 89ad7a4 + e025c88 commit 30c38e6

File tree

4 files changed

+89
-82
lines changed

4 files changed

+89
-82
lines changed

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,6 @@ <h2 class="data-error__title">Не удалось загрузить данны
234234
</section>
235235
</template>
236236

237-
<script src="js/main.js"></script>
237+
<script src="./js/main.js" type="module"></script>
238238
</body>
239239
</html>

js/data.js

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
import {randomNumber, getRandomArrayItem} from './util.js';
2+
3+
const PHOTO_COUNT = 25;
4+
5+
const Likes = {
6+
MIN: 15,
7+
MAX: 200
8+
};
9+
10+
const Comments = {
11+
MIN: 0,
12+
MAX: 30
13+
};
14+
15+
const IDs = {
16+
MIN: 1,
17+
MAX: 200
18+
};
19+
20+
const Avatars = {
21+
MIN: 1,
22+
MAX: 6
23+
};
24+
25+
const photoDescription = 'Фотография пользователя';
26+
27+
const names = [
28+
'Алиса',
29+
'Геннадий',
30+
'Жора',
31+
'Иришка',
32+
'Димитрий',
33+
'Мадлен',
34+
'Аристарх',
35+
];
36+
37+
const messages = [
38+
'Всё отлично!',
39+
'В целом всё неплохо. Но не всё.',
40+
'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.',
41+
'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.',
42+
'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.',
43+
'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!',
44+
];
45+
46+
47+
const addComment = () => ({
48+
id: randomNumber(IDs.MIN, IDs.MAX),
49+
avatar: `img/avatar-${randomNumber(Avatars.MIN , Avatars.MAX)}.svg`,
50+
message: getRandomArrayItem(messages),
51+
name: getRandomArrayItem(names)
52+
});
53+
54+
const addComments = () => {
55+
const comments = [];
56+
57+
for (let i = 0; i < randomNumber(Comments.MIN , Comments.MAX); i++) {
58+
comments.push(addComment());
59+
}
60+
61+
return comments;
62+
};
63+
64+
const addPhoto = (index) => ({
65+
id: index + 1,
66+
url: `photos/${index + 1}.jpg`,
67+
description: `${photoDescription}`,
68+
likes: randomNumber(Likes.MIN, Likes.MAX),
69+
comments: addComments()
70+
});
71+
72+
const addPhotos = () => {
73+
const photos = [];
74+
75+
for (let i = 0; i < PHOTO_COUNT; i++) {
76+
photos.push(addPhoto(i));
77+
}
78+
return photos;
79+
};
80+
81+
82+
export {addPhotos};

js/main.js

Lines changed: 1 addition & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,3 @@
1-
const PHOTO_COUNT = 25;
2-
3-
const Likes = {
4-
MIN: 15,
5-
MAX: 200
6-
};
7-
8-
const Comments = {
9-
MIN: 0,
10-
MAX: 30
11-
};
12-
13-
const IDs = {
14-
MIN: 1,
15-
MAX: 200
16-
};
17-
18-
const Avatars = {
19-
MIN: 1,
20-
MAX: 6
21-
};
22-
23-
const photoDescription = 'Фотография пользователя';
24-
25-
const names = [
26-
'Алиса',
27-
'Геннадий',
28-
'Жора',
29-
'Иришка',
30-
'Димитрий',
31-
'Мадлен',
32-
'Аристарх',
33-
];
34-
35-
const messages = [
36-
'Всё отлично!',
37-
'В целом всё неплохо. Но не всё.',
38-
'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.',
39-
'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.',
40-
'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.',
41-
'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!',
42-
];
43-
44-
const randomNumber = (min, max) => Math.floor(Math.random() * (max - min) + min);
45-
46-
const getRandomArrayItem = (items) => items[randomNumber(0 , items.length - 1)];
47-
48-
const addComment = () => ({
49-
id: randomNumber(IDs.MIN, IDs.MAX),
50-
avatar: `img/avatar-${randomNumber(Avatars.MIN , Avatars.MAX)}.svg`,
51-
message: getRandomArrayItem(messages),
52-
name: getRandomArrayItem(names)
53-
});
54-
55-
const addComments = () => {
56-
const comments = [];
57-
58-
for (let i = 0; i < randomNumber(Comments.MIN , Comments.MAX); i++) {
59-
comments.push(addComment());
60-
}
61-
62-
return comments;
63-
};
64-
65-
const addPhoto = (index) => ({
66-
id: index + 1,
67-
url: `photos/${index + 1}.jpg`,
68-
description: `${photoDescription}`,
69-
likes: randomNumber(Likes.MIN, Likes.MAX),
70-
comments: addComments()
71-
});
72-
73-
const addPhotos = () => {
74-
const photos = [];
75-
76-
for (let i = 0; i < PHOTO_COUNT; i++) {
77-
photos.push(addPhoto(i));
78-
}
79-
return photos;
80-
};
81-
1+
import {addPhotos} from './data.js';
822

833
addPhotos();

js/util.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
const randomNumber = (min, max) => Math.floor(Math.random() * (max - min + 1) + min);
2+
3+
const getRandomArrayItem = (items) => items[randomNumber(0 , items.length - 1)];
4+
5+
export {randomNumber, getRandomArrayItem};

0 commit comments

Comments
 (0)