Улучшение оформления кода

This commit is contained in:
2023-03-30 13:41:34 +04:00
parent 8b7d6216a4
commit 352100e49c
27 changed files with 1997 additions and 1736 deletions
+47 -42
View File
@@ -4,65 +4,70 @@ import { JokerClass } from "../joker";
/**
* **Карнавал**
*
*
* Аватарки приобретают интересные цвета
*
*
* @author Kozhilya
*/
export class CarnivalJoke extends Joke {
id = 'carnival';
id = "carnival";
title = 'Карнавал';
title = "Карнавал";
description = 'Аватарки приобретают интересные цвета';
description = "Аватарки приобретают интересные цвета";
settings = new CarnivalJokeSettings;
start(): void {
$(this.settings.selector).each((_, elem) => {
const filters: string[] = [];
settings = new CarnivalJokeSettings();
for (const entry of Object.entries(this.settings.variants)) {
if (!this.check(this.settings.variant_chance)) {
continue;
}
start(): void {
$(this.settings.selector).each((_, elem) => {
const filters: string[] = [];
filters.push(entry[0].replace('{0}', Math.round(Math.random() * entry[1]).toString()));
}
for (const entry of Object.entries(this.settings.variants)) {
if (!this.check(this.settings.variant_chance)) {
continue;
}
if (filters.length > 0) {
$(elem).css({'filter': filters.join(' ')});
}
});
}
filters.push(
entry[0].replace(
"{0}",
Math.round(Math.random() * entry[1]).toString()
)
);
}
if (filters.length > 0) {
$(elem).css({ filter: filters.join(" ") });
}
});
}
}
export class CarnivalJokeSettings implements JokeSettings {
enabled: boolean = true;
enabled: boolean = true;
chance: number = 30;
chance: number = 30;
/**
* Селектор всех элементов, которые будут перекрашены
*/
selector: string = 'img[src*="/avatars/"]';
/**
* Селектор всех элементов, которые будут перекрашены
*/
selector: string = 'img[src*="/avatars/"]';
/**
* Вероятность применения некоторого фильтра
*/
variant_chance: number = 20;
/**
* Вероятность применения некоторого фильтра
*/
variant_chance: number = 20;
/**
* Список фильтров и диапозона случайных параметров
*/
variants: CarnivalJokeFilters = {
'sepia({0}%)': 100,
'saturate({0}%)': 100,
'hue-rotate({0}deg)': 360,
'invert({0}%)': 100,
}
/**
* Список фильтров и диапозона случайных параметров
*/
variants: CarnivalJokeFilters = {
"sepia({0}%)": 100,
"saturate({0}%)": 100,
"hue-rotate({0}deg)": 360,
"invert({0}%)": 100,
};
}
export interface CarnivalJokeFilters {
[key: string]: number;
}
[key: string]: number;
}