aboutsummaryrefslogtreecommitdiff
path: root/webAO/dom/changeVolume.ts
diff options
context:
space:
mode:
Diffstat (limited to 'webAO/dom/changeVolume.ts')
-rw-r--r--webAO/dom/changeVolume.ts51
1 files changed, 51 insertions, 0 deletions
diff --git a/webAO/dom/changeVolume.ts b/webAO/dom/changeVolume.ts
new file mode 100644
index 0000000..0c94aa6
--- /dev/null
+++ b/webAO/dom/changeVolume.ts
@@ -0,0 +1,51 @@
+import setCookie from "../utils/setCookie";
+
+declare global {
+ interface Window {
+ changeSFXVolume: () => void;
+ changeTestimonyVolume: () => void;
+ changeShoutVolume: () => void;
+ }
+}
+
+/**
+ * Triggered by the sound effect volume slider.
+ */
+export function changeSFXVolume(): void {
+ const sfxAudioElement = document.getElementById("client_sfxaudio") as HTMLAudioElement;
+ if (sfxAudioElement) {
+ setCookie("sfxVolume", sfxAudioElement.volume);
+ }
+}
+if (typeof window.changeSFXVolume !== 'function') {
+ window.changeSFXVolume = changeSFXVolume;
+}
+
+/**
+ * Triggered by the testimony volume slider.
+ */
+export function changeTestimonyVolume(): void {
+ const testimonyAudioElement = document.getElementById("client_testimonyaudio") as HTMLAudioElement;
+ if (testimonyAudioElement) {
+ setCookie(
+ "testimonyVolume",
+ testimonyAudioElement.volume
+ );
+ }
+}
+if (typeof window.changeTestimonyVolume !== 'function') {
+ window.changeTestimonyVolume = changeTestimonyVolume;
+}
+
+/**
+ * Triggered by the shout volume slider.
+ */
+export function changeShoutVolume(): void {
+ const shoutAudioElement = document.getElementById("client_shoutaudio") as HTMLAudioElement;
+ if (shoutAudioElement) {
+ setCookie("shoutVolume", shoutAudioElement.volume);
+ }
+}
+if (typeof window.changeShoutVolume !== 'function') {
+ window.changeShoutVolume = changeShoutVolume;
+} \ No newline at end of file