From c36b47bd93834471a91dadabae38f03ab04c2b39 Mon Sep 17 00:00:00 2001 From: Jason Chen Date: Wed, 19 Jan 2022 19:19:47 -0800 Subject: [PATCH] click volume button to mute and unclick to go back to lastVolume --- src/main/base/store.ts | 2 ++ src/renderer/index.js | 24 ++++++++++++++++++-- src/renderer/style.less | 23 +++++++++++++++++++ src/renderer/views/components/fullscreen.ejs | 2 +- src/renderer/views/main.ejs | 4 ++-- 5 files changed, 50 insertions(+), 5 deletions(-) diff --git a/src/main/base/store.ts b/src/main/base/store.ts index 766fddb0..686cca4f 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -24,6 +24,8 @@ export class ConfigStore { }, "audio": { "volume": 1, + "lastVolume": 1, + "muted": false, "quality": "990", "seamless_audio": true, "normalization": false, diff --git a/src/renderer/index.js b/src/renderer/index.js index 611d27d8..a478a3ca 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -517,8 +517,17 @@ const app = new Vue({ } } MusicKitInterop.init() - // Set the volume - this.mk.volume = this.cfg.audio.volume + // Set the volume + + // Check the value of this.cfg.audio.muted + if( !this.cfg.audio.muted ) + { + // Set the mk.volume to the last stored volume data + this.mk.volume = this.cfg.audio.volume + } else if( this.cfg.audio.muted ) { + // Set mk.volume to -1 (setting to 0 wont work, so temp solution setting to -1) + this.mk.volume = -1; + } // ipcRenderer.invoke('getStoreValue', 'audio.volume').then((value) => { // self.mk.volume = value // }) @@ -2984,6 +2993,17 @@ const app = new Vue({ } } }, + muteButtonPressed() { + if( this.cfg.audio.muted ) { + this.mk.volume = this.cfg.audio.lastVolume; + this.cfg.audio.muted = false; + } else { + this.cfg.audio.lastVolume = this.cfg.audio.volume; + this.mk.volume = 0; + this.cfg.audio.muted = true; + } + }, + async apiCall(url, callback) { const xmlHttp = new XMLHttpRequest(); diff --git a/src/renderer/style.less b/src/renderer/style.less index 65b5389a..ef4a5e56 100644 --- a/src/renderer/style.less +++ b/src/renderer/style.less @@ -4103,6 +4103,29 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb { width: 100% } + .volume-button--small { + border-radius: 6px; + color: inherit; + background-size: 16px; + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + height: 15px; + width: 30px; + border: 0px; + box-shadow: unset; + opacity: 0.70; + background-image: url("./assets/feather/volume-2.svg"); + } + + .volume-button--small:active { + transform: scale(0.9); + } + + .volume-button--small.active { + background-image: url("./assets/feather/volume.svg"); + } + input[type=range] { -webkit-appearance: none; height: 4px; diff --git a/src/renderer/views/components/fullscreen.ejs b/src/renderer/views/components/fullscreen.ejs index 796eb955..2c0e8257 100644 --- a/src/renderer/views/components/fullscreen.ejs +++ b/src/renderer/views/components/fullscreen.ejs @@ -78,8 +78,8 @@
-
+
diff --git a/src/renderer/views/main.ejs b/src/renderer/views/main.ejs index 5e63354f..7dac8db4 100644 --- a/src/renderer/views/main.ejs +++ b/src/renderer/views/main.ejs @@ -131,7 +131,7 @@
- + @@ -293,7 +293,7 @@
-
+