hardlounge/client/js/helpers/colorClass.js

18 lines
379 B
JavaScript
Raw Normal View History

"use strict";
2016-12-18 10:53:28 -05:00
// Generates a string from "color-1" to "color-32" based on an input string
2019-11-16 12:24:03 -05:00
export default (str) => {
2018-01-11 06:33:36 -05:00
let hash = 0;
2018-01-11 06:33:36 -05:00
for (let i = 0; i < str.length; i++) {
2016-12-18 10:53:28 -05:00
hash += str.charCodeAt(i);
}
2016-12-18 10:53:28 -05:00
2018-07-03 05:51:10 -04:00
/*
Modulo 32 lets us be case insensitive for ascii
due to A being ascii 65 (100 0001)
while a being ascii 97 (110 0001)
*/
2019-07-17 05:33:59 -04:00
return "color-" + (1 + (hash % 32));
2016-12-18 10:53:28 -05:00
};