import { ChangeDetectionStrategy, Component, OnInit, inject, signal, } from '@angular/core'; import { CommonModule } from '@angular/common'; import { AdminService, AdminUser } from '../../core/services/admin.service'; @Component({ selector: 'app-admin-users', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], template: `

Admin area

Loading users...

{{ error() }}

`, }) export class AdminUsersComponent implements OnInit { private readonly admin = inject(AdminService); readonly users = signal([]); readonly loading = signal(false); readonly error = signal(null); async ngOnInit(): Promise { this.loading.set(true); this.error.set(null); try { const list = await this.admin.listUsers(); this.users.set(list); } catch (e: any) { this.error.set(e?.error?.message ?? e?.message ?? 'Failed to load users'); } finally { this.loading.set(false); } } }