diff --git a/src/app/redemptions/redemption-item-edit/redemption-item-edit.component.ts b/src/app/redemptions/redemption-item-edit/redemption-item-edit.component.ts index 254edbc..15d9467 100644 --- a/src/app/redemptions/redemption-item-edit/redemption-item-edit.component.ts +++ b/src/app/redemptions/redemption-item-edit/redemption-item-edit.component.ts @@ -100,6 +100,9 @@ export class RedemptionItemEditComponent implements OnInit { } save() { + if (this.formGroups.invalid) + return; + this.responseError = undefined; const order = this.orderFormControl.value; if (order == null) { diff --git a/src/app/shared/services/twitch-redemption.service.ts b/src/app/shared/services/twitch-redemption.service.ts index b62c55c..4eeb2e1 100644 --- a/src/app/shared/services/twitch-redemption.service.ts +++ b/src/app/shared/services/twitch-redemption.service.ts @@ -3,14 +3,24 @@ import { inject, Injectable } from '@angular/core'; import { environment } from '../../../environments/environment'; import TwitchRedemption from '../models/twitch-redemption'; import { of } from 'rxjs'; +import EventService from './EventService'; @Injectable({ providedIn: 'root' }) export class TwitchRedemptionService { - private http = inject(HttpClient); + private readonly http = inject(HttpClient); + private readonly events = inject(EventService); private twitchRedemptions: TwitchRedemption[] = []; - private loaded = false + private loaded = false; + + + constructor() { + this.events.listen('logoff', () => { + this.twitchRedemptions = []; + this.loaded = false; + }); + } fetch(force: boolean = false) { if (!force && this.loaded)