mirror of https://github.com/mue/mue.git
35 lines
952 B
JavaScript
35 lines
952 B
JavaScript
/**
|
|
* It returns a random colour or random gradient as a style object
|
|
* @param type - The type of the style. This is used to determine which style builder to use.
|
|
* @returns An object with two properties: type and style.
|
|
*/
|
|
export function randomColourStyleBuilder(type) {
|
|
// randomColour based on https://stackoverflow.com/a/5092872
|
|
const randomColour = () =>
|
|
'#000000'.replace(/0/g, () => {
|
|
return (~~(Math.random() * 16)).toString(16);
|
|
});
|
|
let style = `background:${randomColour()};`;
|
|
|
|
if (type === 'random_gradient') {
|
|
const directions = [
|
|
'to right',
|
|
'to left',
|
|
'to bottom',
|
|
'to top',
|
|
'to bottom right',
|
|
'to bottom left',
|
|
'to top right',
|
|
'to top left',
|
|
];
|
|
style = `background:linear-gradient(${
|
|
directions[Math.floor(Math.random() * directions.length)]
|
|
}, ${randomColour()}, ${randomColour()});`;
|
|
}
|
|
|
|
return {
|
|
type: 'colour',
|
|
style,
|
|
};
|
|
}
|