More webapp changes+fixes
All checks were successful
Build Docker and Deploy / Build Docker Container (push) Successful in 1m41s
Build Docker and Deploy / Run Unit-Tests (push) Successful in 9m31s
Build Docker and Deploy / Deploy to Server (push) Successful in 18s

This commit is contained in:
2025-12-05 21:36:50 +01:00
parent c554479604
commit 2b7950f5dc
44 changed files with 1245 additions and 189 deletions

View File

@@ -11,6 +11,7 @@ import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
import { ApiService } from '../../../core/services/api.service';
import { AuthService } from '../../../core/services/auth.service';
import { NotificationService } from '../../../core/services/notification.service';
import { SettingsService } from '../../../core/services/settings.service';
import { ChannelCacheService, ResolvedChannel } from '../../../core/services/channel-cache.service';
import { UserCacheService, ResolvedUser } from '../../../core/services/user-cache.service';
import { Subscription } from '../../../core/models';
@@ -44,6 +45,7 @@ export class SubscriptionDetailComponent implements OnInit {
private apiService = inject(ApiService);
private authService = inject(AuthService);
private notification = inject(NotificationService);
private settingsService = inject(SettingsService);
private channelCacheService = inject(ChannelCacheService);
private userCacheService = inject(UserCacheService);
@@ -52,6 +54,7 @@ export class SubscriptionDetailComponent implements OnInit {
resolvedChannel = signal<ResolvedChannel | null>(null);
resolvedSubscriber = signal<ResolvedUser | null>(null);
resolvedOwner = signal<ResolvedUser | null>(null);
expertMode = this.settingsService.expertMode;
ngOnInit(): void {
const subscriptionId = this.route.snapshot.paramMap.get('id');
@@ -163,6 +166,19 @@ export class SubscriptionDetailComponent implements OnInit {
});
}
setInactive(): void {
const sub = this.subscription();
const userId = this.authService.getUserId();
if (!sub || !userId) return;
this.apiService.confirmSubscription(userId, sub.subscription_id, { active: false }).subscribe({
next: (updated) => {
this.subscription.set(updated);
this.notification.success('Subscription set to inactive');
}
});
}
deleteSubscription(): void {
const sub = this.subscription();
const userId = this.authService.getUserId();