This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@mixin for-size($range) { | |
$mobile: 480px; | |
$tablet: 768px; | |
$desktop: 1280px; | |
@if $range == mobile-only { | |
@media screen and (max-width: #{$mobile - 1}) { @content; } | |
} @else if $range == mobile { | |
@media screen and (min-width: $mobile) { @content; } | |
} @else if $range == tablet { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const Luhn = (card) => { | |
// Здесь храним контрольную сумму | |
let checksum = 0; | |
// Переводим номер карточки из строки в массив чисел | |
const cardnumbers = card.split('').map(Number); | |
// Проходимся по каждому числу | |
for (const [index, num] of cardnumbers.entries()) { | |
// Если index чётный, значит число стоит на нечётной позиции | |
// Так получается потому что считаем с нуля |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const validatePhoneNumber = (phone: string): boolean => { | |
const regExp = /\+38\s\(0(39|50|63|66|67|68|70|73|90|91|92|93|94|95|96|97|98|99)\)\s[\d]{3}-[\d]{2}-[\d]{2}/g; | |
return regExp.test(phone); | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
{ | |
"arrowParens": "avoid", // скобки вокруг единственного параметра стрелочной функции | |
"bracketSpacing": true, // пробелы между скобками в литералах объектов | |
"endOfLine": "auto", // окончания строк | |
"htmlWhitespaceSensitivity": "css", // форматирование html с учетом пробелов | |
"insertPragma": false, // вставлять спец.комментарий в начало файла | |
"jsxBracketSameLine": false, // где будет завершающий > многострочного jsx-элемента | |
"jsxSingleQuote": false, // использовать в jsx одинарные кавычки вместо двойных | |
"printWidth": 100, // на какой позиции выполнять перенос строки | |
"proseWrap": "never", // как обрабатывать markdown файлы |