feat: add audio features and sounds to the game
Some checks failed
CI / Get Changed Files (pull_request) Successful in 31s
CI / Checkstyle Main (pull_request) Has been skipped
CI / Docker backend validation (pull_request) Has been skipped
CI / oxlint (pull_request) Successful in 23s
CI / prettier (pull_request) Failing after 27s
CI / eslint (pull_request) Successful in 31s
CI / test-build (pull_request) Successful in 49s
CI / Docker frontend validation (pull_request) Successful in 1m34s

This commit is contained in:
Jan-Marlon Leibl 2025-05-15 14:03:26 +02:00
commit 5809757bc9
Signed by: jleibl
GPG key ID: 300B2F906DC6F1D5
12 changed files with 133 additions and 1 deletions

View file

@ -40,6 +40,7 @@ export default class SlotsComponent implements OnInit, OnDestroy {
private userService = inject(UserService);
private authService = inject(AuthService);
private userSubscription: Subscription | undefined;
private winSound: HTMLAudioElement;
slotInfo = signal<Record<string, number> | null>(null);
slotResult = signal<SlotResult>({
@ -56,6 +57,10 @@ export default class SlotsComponent implements OnInit, OnDestroy {
betAmount = signal<number>(1);
isSpinning = false;
constructor() {
this.winSound = new Audio('/sounds/win.mp3');
}
ngOnInit(): void {
this.httpClient.get<Record<string, number>>('/backend/slots/info').subscribe((data) => {
this.slotInfo.set(data);
@ -111,6 +116,7 @@ export default class SlotsComponent implements OnInit, OnDestroy {
this.slotResult.set(result);
if (result.status === 'win') {
this.winSound.play();
this.userService.updateLocalBalance(result.amount);
}