mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-05-23 03:46:28 -05:00
* Fixed slider border * Implemented volume slider * Mounted check * Added IsBrowser helper function * Fix for Firefox not supporting TouchEvent * Removed IsBrowser function again cause it works without it now I guess lol * Ran prettier * Removed useEffect * Switched from defaultValue to value * Set default value * Removed useEffect import * Ignore audio promises --------- Co-authored-by: hfcRed <hfcred@gmx.net>
27 lines
778 B
TypeScript
27 lines
778 B
TypeScript
import type { ChatMessage } from "./chat-types";
|
|
|
|
export function messageTypeToSound(type: ChatMessage["type"]) {
|
|
if (type === "LIKE_RECEIVED") return "sq_like";
|
|
if (type === "MATCH_STARTED") return "sq_match";
|
|
if (type === "NEW_GROUP") return "sq_new-group";
|
|
|
|
return null;
|
|
}
|
|
|
|
export function soundCodeToLocalStorageKey(soundCode: string) {
|
|
return `settings__sound-enabled__${soundCode}`;
|
|
}
|
|
|
|
export function soundEnabled(soundCode: string) {
|
|
const localStorageKey = soundCodeToLocalStorageKey(soundCode);
|
|
const soundEnabled = localStorage.getItem(localStorageKey);
|
|
|
|
return !soundEnabled || soundEnabled === "true";
|
|
}
|
|
|
|
export function soundVolume() {
|
|
const volume = localStorage.getItem("settings__sound-volume");
|
|
|
|
return volume ? parseFloat(volume) : 100;
|
|
}
|