Christian Fraß
[ini]
Christian Fraß commited 36016ac at 2021-11-18 23:54:20
type int = number;
type float = number;
var _conf: any = null;
var _state: (null | string) = null;
var _channel: (null | string) = null;
var _nickname: (null | string) = null;
var _userhash: (null | string) = null;
function get_timestamp(): int
{
return Math.floor(Date.now()/1000);
}
function hash_string_to_unit(x: string): float
{
return (x.split("").reduce((x, y) => ((x + y.charCodeAt(0)) % 32), 0) / 32);
}
function get_usercolor(name: string): string
{
const hue: float = hash_string_to_unit(name);
return `hsl(${(hue*360).toFixed(2)},50%,75%)`;
}
async function backend_call(action: string, data: any): Promise<any>
{
const response = await fetch(
`${_conf.backend.scheme}://${_conf.backend.host}:${_conf.backend.port.toFixed(0)}`,
{
"method": "POST",
"body": JSON.stringify({"action": action, "data": data}),
}
);
if (response.ok) {
return response.json();
}
else {
console.error(response.text());
return Promise.reject<any>(new Error("backend call failed"));
}
}
function update_state(): void
{
document.querySelector("body").setAttribute("class", _state);
}
function update_history(events): void
{
let dom_history: HTMLUListElement = document.querySelector("#history");
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX