Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ <h2 class="data-error__title">Не удалось загрузить данны
</section>
</template>
<script src="js/functions.js"></script>
<script src="js/main.js"></script>
<script src="js/main.js" type="module"></script>
</body>

</html>
51 changes: 35 additions & 16 deletions js/functions.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,49 @@
// Функция для проверки длины строки.

const checkStringLength = (string, maxLength) => string.length <= maxLength;
// const checkStringLength = (string, maxLength) => string.length <= maxLength;

checkStringLength();
// checkStringLength();

// Функция для проверки, является ли строка палиндромом.

const isPalindrom = (string) => {
const optimizedString = string.replaceAll(' ', '').toLowerCase();
let newString = '';
// const isPalindrom = (string) => {
// const optimizedString = string.replaceAll(' ', '').toLowerCase();
// let newString = '';

for (let i = optimizedString.length - 1; i >= 0; i--) {
newString += optimizedString[i];
}
// for (let i = optimizedString.length - 1; i >= 0; i--) {
// newString += optimizedString[i];
// }

return newString === optimizedString;
};
// return newString === optimizedString;
// };

isPalindrom();
// isPalindrom();


const getNumber = (string) => {
const numberString = string.toString().replace(/\D/g, '');
// const getNumber = (string) => {
// const numberString = string.toString().replace(/\D/g, '');

return parseInt(numberString, 10);
};
// return parseInt(numberString, 10);
// };

// getNumber();


// Функция из Доп.задания пятого раздела ДЗ.

getNumber();
const timeWorking = (timeStart, timeStop, timeMeet, duration) => {
let start = timeStart.split(':');
start = (parseInt(start[0], 10) * 60) + parseInt(start[1], 10);

let end = timeStop.split(':');
end = (parseInt(end[0], 10) * 60) + parseInt(end[1], 10);

let meet = timeMeet.split(':');
meet = (parseInt(meet[0], 10) * 60) + parseInt(meet[1], 10);

return !!(start <= meet + duration && meet + duration <= end);

};
console.log(timeWorking('8:00', '17:30', '14:00', 211));

Check failure on line 47 in js/functions.js

View workflow job for this annotation

GitHub Actions / Check

Unexpected console statement

// Алексей подскажи как тут лучше всего сделать рефакторинг?
65 changes: 65 additions & 0 deletions js/generator.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import { getRandomInteger, getRandomArrayElement } from './util.js';

const NAMES = [
'Владимир',
'Генадий',
'Олег',
'Виталий',
'Максим',
'Наталья',
'Светлана',
'Ольга',
'Ева'
];

const DESCRIPTIONS = [
'Замечательное фото',
'Отличный ракурс',
'Классная идея',
'Красивое фото',
'Это фото заслуживае отдельного внимания',
'Можно сразу на обложку журнала',
'У тебя определённо талант!!!'
];

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

const PHOTO_COUNT = 25;

const createIdGenirator = () => {
let currentId = 0;

return () => ++currentId;
};

const generatePhotoId = createIdGenirator();
const generateCommentsId = createIdGenirator();
const generateUrl = createIdGenirator();

const createComentsPhoto = () => ({
id: generateCommentsId(),
avatar: `img/avatar-${getRandomInteger(1, 6)}.svg`,
message: getRandomArrayElement(MESSAGES),
name: getRandomArrayElement(NAMES)
});

const createPhoto = () => ({
id: generatePhotoId(1, 25),
url: `photos/${generateUrl(1, 25)}.jpg`,
description: getRandomArrayElement(DESCRIPTIONS),
likes: getRandomInteger(15, 200),
comments: Array.from({ length: getRandomInteger(0, 30) }, createComentsPhoto)
});

const generatePhotos = () => Array.from({ length: PHOTO_COUNT }, createPhoto);

export { generatePhotos };
73 changes: 3 additions & 70 deletions js/main.js
Original file line number Diff line number Diff line change
@@ -1,71 +1,4 @@
const NAMES = [
'Владимир',
'Генадий',
'Олег',
'Виталий',
'Максим',
'Наталья',
'Светлана',
'Ольга',
'Ева'
];

const DESCRIPTION = [
'Замечательное фото',
'Отличный ракурс',
'Классная идея',
'Красивое фото',
'Это фото заслуживае отдельного внимания',
'Можно сразу на обложку журнала',
'У тебя определённо талант!!!'
];

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


const getRandomInteger = (min, max) => {
min = Math.ceil(min);
max = Math.floor(max);

return Math.floor(Math.random() * (max - min + 1) + min);
};

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

const createIdGenirator = () => {
let currentId = 0;

return () => ++currentId;
};

const generatePhotoId = createIdGenirator();
const generateCommentsId = createIdGenirator();
const generateUrl = createIdGenirator();

const PHOTO_COUNT = 25;

const createComentsPhoto = () => ({
id: generateCommentsId(),
avatar: `img/avatar-${getRandomInteger(1, 6)}.svg`,
message: getRandomArrayElement(MESSAGES),
name: getRandomArrayElement(NAMES)
});

const createFotoDescription = () => ({
id: generatePhotoId(1, 25),
url: `photos/${generateUrl(1, 25)}.jpg`,
description: getRandomArrayElement(DESCRIPTION),
likes: getRandomInteger(15, 200),
comments: Array.from({ length: getRandomInteger(0, 30) }, createComentsPhoto)
});

const photoObject = Array.from({ length: PHOTO_COUNT }, createFotoDescription);
import { generatePhotos } from './generator.js';
import './util.js';
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Отдельно util.js не надо подключать его по цепочке подключит твой модуль генерации данных


console.log(generatePhotos());

Check failure on line 4 in js/main.js

View workflow job for this annotation

GitHub Actions / Check

Unexpected console statement
10 changes: 10 additions & 0 deletions js/util.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
const getRandomInteger = (min, max) => {
min = Math.ceil(min);
max = Math.floor(max);

return Math.floor(Math.random() * (max - min + 1) + min);
};

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

export { getRandomInteger, getRandomArrayElement };
Loading