import "./../../../css/components/preloader.css"; import React from "react"; export default function Preloader ( props: {visible: boolean, text?: string | null}) { const {text = 'загрузка'} = props; let preloaderColorArray: string[] = ['preloader-ruby-circle', 'preloader-emerald-circle', 'preloader-graphite-circle'], //Код ниже реализует возможность присваивать каждую перезагрузку разные классы с цветом полос //Рандомное число, по которому получим первый класс firstColorIndex: number = Math.floor(Math.random() * 3), firstCircleClass: typeof preloaderColorArray[number] = preloaderColorArray[firstColorIndex], secondCircleClass: typeof preloaderColorArray[number], thirdCircleClass: typeof preloaderColorArray[number]; //Удалим уже используемый класс цвета из массива preloaderColorArray.splice(firstColorIndex, 1); //Оставшиеся 2 класса распределеяем в зависимости от проостой проверки четности/нечетности if (Math.floor(Math.random() * 2) % 2 === 0) { secondCircleClass = preloaderColorArray[0]; thirdCircleClass = preloaderColorArray[1]; } else { secondCircleClass = preloaderColorArray[1]; thirdCircleClass = preloaderColorArray[0]; } return ( props.visible ?
{ text }
: null ) }