Skip to content

Commit

Permalink
Merge pull request #3 from YouAreNotReady/module4-task1
Browse files Browse the repository at this point in the history
  • Loading branch information
keksobot authored Dec 1, 2024
2 parents 00f890a + e2008cf commit b05ed32
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 0 deletions.
1 change: 1 addition & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@ <h2 class="data-error__title">Не удалось загрузить данны
</section>
</template>

<script src="/js/main.js"></script>
<script src="/js/functions.js"></script>
</body>
</html>
80 changes: 80 additions & 0 deletions js/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
const DESCRIPTIONS = [
'Закат над морем',
'Городская улица ночью',
'Заснеженный лес',
'Кафе на набережной',
'Горная вершина',
'Цветущая сакура',
];

const MESSAGES = [
'Всё отлично!',
'В целом всё неплохо. Но не всё.',
'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.',
'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.',
'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.',
'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!',
];

const NAMES = [
'Артем',
'Александр',
'Виктор',
'Василий',
'Петр',
'Анастасия',
'Валерия',
'Виктория',
'Дарья',
'Елизавета',
];

const getRandomInteger = function(min, max) {
const rand = min + Math.random() * (max + 1 - min);
return Math.floor(rand);
};

const createIdGenerator = function(min, max) {
const previousValues = [];

return function() {
let lastGeneratedId = getRandomInteger(min, max);

if(previousValues.length >= (max - min + 1)) {
console.log('Закончились уникальные идентификаторы');

Check failure on line 44 in js/main.js

View workflow job for this annotation

GitHub Actions / Check

Unexpected console statement
return null;
}

while(previousValues.includes(lastGeneratedId)) {
lastGeneratedId = getRandomInteger(min, max);
}

previousValues.push(lastGeneratedId);
return lastGeneratedId;
};
};

const getRandomArrayElement = (array) => array[getRandomInteger(0, array.length - 1)];

const generatePhotoId = createIdGenerator(1, 25);

const generatePhotoUrlId = createIdGenerator(1, 25);

const generateCommentId = createIdGenerator(1, 750);

const createCommentObject = () => ({
id: generateCommentId(),
avatar: 'img/avatar-' + getRandomInteger(1, 6) + '.svg',

Check failure on line 67 in js/main.js

View workflow job for this annotation

GitHub Actions / Check

Unexpected string concatenation
message: getRandomArrayElement(MESSAGES),
name: getRandomArrayElement(NAMES),
});

const createPhotoObject = () => ({
id: generatePhotoId(),
url: 'photos/' + generatePhotoUrlId() + '.jpg',

Check failure on line 74 in js/main.js

View workflow job for this annotation

GitHub Actions / Check

Unexpected string concatenation
description: getRandomArrayElement(DESCRIPTIONS),
likes: getRandomInteger(15, 200),
comments: Array.from({length: getRandomInteger(0, 30)}, createCommentObject)
});

const testPhotoObjects = Array.from({length: 25}, createPhotoObject);

Check failure on line 80 in js/main.js

View workflow job for this annotation

GitHub Actions / Check

'testPhotoObjects' is assigned a value but never used

0 comments on commit b05ed32

Please sign in to comment.