mirror of
https://github.com/yawaflua/LuckyDiamond.git
synced 2025-12-10 04:09:29 +02:00
add volume setter
This commit is contained in:
15
luckydiamond/src/assets/js/storage/LocalStorage.js
Normal file
15
luckydiamond/src/assets/js/storage/LocalStorage.js
Normal file
@@ -0,0 +1,15 @@
|
||||
export function SaveToLocalStorage(key, value) {
|
||||
localStorage.setItem(key, value);
|
||||
}
|
||||
|
||||
export function GetFromLocalStorage(key) {
|
||||
return localStorage.getItem(key);
|
||||
}
|
||||
|
||||
export function RemoveFromLocalStorage(key) {
|
||||
localStorage.removeItem(key);
|
||||
}
|
||||
|
||||
export function ClearLocalStorage() {
|
||||
localStorage.clear();
|
||||
}
|
||||
@@ -7,16 +7,22 @@
|
||||
<header-component></header-component>
|
||||
|
||||
<section class="settings">
|
||||
|
||||
<!-- <div id="volume-control">
|
||||
<button id="volume-up" @click="volumeUp">+</button>
|
||||
<button id="volume-down" @click="volumeDown">-</button>
|
||||
</div>
|
||||
-->
|
||||
|
||||
|
||||
<input
|
||||
id="volumeControl"
|
||||
type="range"
|
||||
min="0"
|
||||
max="10"
|
||||
v-model="volume"
|
||||
@input="handleVolumeChange"
|
||||
ref="volumeControl"
|
||||
/>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -24,46 +30,33 @@
|
||||
import AsideBarComponent from "@/components/AsidebarComponent.vue";
|
||||
import ChatComponent from "@/components/ChatComponent.vue";
|
||||
import HeaderComponent from "@/components/HeaderComponent.vue";
|
||||
import {SaveToLocalStorage,GetFromLocalStorage } from "@/assets/js/storage/LocalStorage";
|
||||
|
||||
import '@/assets/css/PagesStyles/settings.css'
|
||||
import "@/assets/css/PagesStyles/settings.css";
|
||||
export default {
|
||||
components: {
|
||||
ChatComponent,
|
||||
HeaderComponent,
|
||||
AsideBarComponent
|
||||
AsideBarComponent,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
volume: 5, // Значение по умолчанию, на случай, если в LocalStorage ничего нет
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
volumeUp() {
|
||||
var volume = document.getElementById("volume-indicator").value;
|
||||
if (volume) {
|
||||
volume += 10;
|
||||
handleVolumeChange() {
|
||||
const volume = this.$refs.volumeControl.value;
|
||||
SaveToLocalStorage("volume",volume);
|
||||
|
||||
if (volume > 100) {
|
||||
volume = 100;
|
||||
}
|
||||
|
||||
document.getElementById("volume-indicator").value = volume;
|
||||
} else {
|
||||
console.error("Element with id 'volume-indicator' not found or does not have a value property.");
|
||||
}
|
||||
},
|
||||
// остальной код метода volumeDown()
|
||||
|
||||
volumeDown() {
|
||||
// Получить текущий уровень громкости
|
||||
var volume = document.getElementById("volume-indicator").value;
|
||||
|
||||
// Уменьшить уровень громкости на 10%
|
||||
volume -= 10;
|
||||
|
||||
// Убедиться, что уровень громкости не ниже 0%
|
||||
if (volume < 0) {
|
||||
volume = 0;
|
||||
}
|
||||
|
||||
// Установить новый уровень громкости
|
||||
document.getElementById("volume-indicator").value = volume;
|
||||
// Транслировать изменение громкости глобально
|
||||
},
|
||||
},
|
||||
created() {
|
||||
const storedVolume = GetFromLocalStorage("volume"); // Убедитесь, что этот метод существует и правильно работает
|
||||
if (storedVolume !== null) {
|
||||
this.volume = storedVolume;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -171,6 +171,8 @@ import HeaderElementPage from "@/components/HeaderComponent.vue";
|
||||
import { GetPercentageSteps, GetUserData, ClickCirclePlay, GetWinningAmount } from "@/assets/js/games/saper/SaperAPI";
|
||||
import { GetCurrentMoney } from "@/assets/js/rest/RestMethods";
|
||||
import { GetCookie } from "@/assets/js/storage/CookieStorage";
|
||||
import {GetFromLocalStorage} from "@/assets/js/storage/LocalStorage";
|
||||
|
||||
|
||||
import { Howl } from 'howler';
|
||||
import {eventBus} from "@/main";
|
||||
@@ -380,7 +382,8 @@ export default {
|
||||
this.gameTurn = 0
|
||||
const SoundCorrect = new Howl({
|
||||
src: ['/sounds/incorrect-sound.mp3'],
|
||||
volume: 0.5
|
||||
volume: GetFromLocalStorage("volume")/100
|
||||
// volume: 0.5
|
||||
})
|
||||
|
||||
SoundCorrect.play()
|
||||
@@ -393,7 +396,8 @@ export default {
|
||||
}
|
||||
const SoundUncorrect = new Howl({
|
||||
src: ['/sounds/correct-click.mp3'],
|
||||
volume: 0.5
|
||||
// volume: 0.5
|
||||
volume: GetFromLocalStorage("volume")/100
|
||||
})
|
||||
this.CorrectsClick.push(X_Cordinates)
|
||||
|
||||
@@ -441,7 +445,7 @@ export default {
|
||||
|
||||
const soundStartGame = new Howl({
|
||||
src: ['/sounds/start-game.mp3'],
|
||||
volume: 5.0
|
||||
volume: GetFromLocalStorage("volume")/25
|
||||
})
|
||||
|
||||
soundStartGame.play()
|
||||
@@ -491,7 +495,8 @@ export default {
|
||||
this.offEventPointers = true
|
||||
const soundStartGame = new Howl({
|
||||
src: ['/sounds/start-game.mp3'],
|
||||
volume: 5.0
|
||||
volume: GetFromLocalStorage("volume")/100
|
||||
// volume: 5.0
|
||||
})
|
||||
|
||||
soundStartGame.play()
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
export default (await import('vue')).defineComponent({
|
||||
data() {
|
||||
return {
|
||||
Object: {
|
||||
bg: "value",
|
||||
nickname: "value",
|
||||
icons: {},
|
||||
textTacholgy: { text1: "text2" },
|
||||
},
|
||||
name: 'HelpPage',
|
||||
components: {
|
||||
HelpComponent
|
||||
}
|
||||
};
|
||||
|
||||
},
|
||||
components: {
|
||||
HeaderComponent,
|
||||
AsideBarComponent,
|
||||
HelpComponent,
|
||||
},
|
||||
});
|
||||
@@ -1,16 +0,0 @@
|
||||
export default (await import('vue')).defineComponent({
|
||||
data() {
|
||||
return {
|
||||
Object: {
|
||||
bg: "value",
|
||||
nickname: "value",
|
||||
icons: {},
|
||||
textTacholgy: { text1: "text2" },
|
||||
},
|
||||
};
|
||||
},
|
||||
name: "HelpPage",
|
||||
components: {
|
||||
HeaderComponent
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user