fix: NCWF-2 bugs and desing fixes (#7)
Co-authored-by: Lala, Shahd <Shahd.Lala@sybit.de> Reviewed-on: #7
This commit was merged in pull request #7.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { Component, Input, Output, EventEmitter, inject } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { Router } from '@angular/router';
|
||||
import { Challenge } from '../../models/challenge.models';
|
||||
import { ChallengeService } from '../../services/challenge.service';
|
||||
import { finalize } from 'rxjs';
|
||||
@@ -19,6 +20,7 @@ export class ChallengeNotificationComponent {
|
||||
@Output() close = new EventEmitter<void>();
|
||||
|
||||
private readonly challengeService = inject(ChallengeService);
|
||||
private readonly router = inject(Router);
|
||||
|
||||
acceptingChallenge = false;
|
||||
decliningChallenge = false;
|
||||
@@ -35,8 +37,13 @@ export class ChallengeNotificationComponent {
|
||||
this.challengeService.acceptChallenge(this.challenge.id)
|
||||
.pipe(finalize(() => (this.acceptingChallenge = false)))
|
||||
.subscribe({
|
||||
next: () => {
|
||||
this.accept.emit(this.challenge);
|
||||
next: (acceptedChallenge) => {
|
||||
this.accept.emit(acceptedChallenge);
|
||||
if (acceptedChallenge.gameId) {
|
||||
void this.router.navigate(['/game', acceptedChallenge.gameId]);
|
||||
} else {
|
||||
this.errorMessage = 'Challenge accepted, but no game was created.';
|
||||
}
|
||||
},
|
||||
error: (error) => {
|
||||
this.errorMessage = getErrorMessage(error, 'Failed to accept challenge');
|
||||
@@ -52,7 +59,7 @@ export class ChallengeNotificationComponent {
|
||||
this.decliningChallenge = true;
|
||||
this.errorMessage = '';
|
||||
|
||||
this.challengeService.declineChallenge(this.challenge.id, { reason: 'Not interested' })
|
||||
this.challengeService.declineChallenge(this.challenge.id, { reason: 'generic' })
|
||||
.pipe(finalize(() => (this.decliningChallenge = false)))
|
||||
.subscribe({
|
||||
next: () => {
|
||||
|
||||
Reference in New Issue
Block a user