diff --git a/package.json b/package.json index c19abd4..476a6d0 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "stylelint-scss": "^6.11.0", "typescript": "~5.6.2" }, - "api_version": "v0.0.0-rc.2", + "api_version": "v0.0.0-rc6", "volta": { "node": "22.13.1" } diff --git a/src/app/views/admin-overview/admin-overview.component.html b/src/app/views/admin-overview/admin-overview.component.html index 5db7bc1..2b9fc3e 100644 --- a/src/app/views/admin-overview/admin-overview.component.html +++ b/src/app/views/admin-overview/admin-overview.component.html @@ -1 +1,23 @@ - \ No newline at end of file +
+ + + + + + + + + + + + + + + + + + +
Username {{ user.username }} Ban + +
+
\ No newline at end of file diff --git a/src/app/views/admin-overview/admin-overview.component.ts b/src/app/views/admin-overview/admin-overview.component.ts index 9089d03..7be731c 100644 --- a/src/app/views/admin-overview/admin-overview.component.ts +++ b/src/app/views/admin-overview/admin-overview.component.ts @@ -1,15 +1,45 @@ -import {Component} from '@angular/core'; -import {MatButton} from '@angular/material/button'; -import {MatFormField} from '@angular/material/form-field'; -import {MatHeaderCell, MatHeaderCellDef, MatTable} from '@angular/material/table'; +import { Component, OnInit } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; +import { MatTableModule } from '@angular/material/table'; +import UserData from '@core/auth/UserData'; +import {AdministratablePlayer, AdminService, PlayerFilter} from '@core/server'; @Component({ selector: 'app-admin-overview', - imports: [MatFormField, MatButton, MatTable, MatHeaderCell, MatHeaderCellDef], templateUrl: './admin-overview.component.html', - styleUrl: './admin-overview.component.scss' + styleUrls: ['./admin-overview.component.scss'], + standalone: true, + imports: [MatTableModule, MatButtonModule] }) -export class AdminOverviewComponent { +export class AdminOverviewComponent implements OnInit { + displayedColumns: Array = ['username', 'ban']; + userList: Array = []; + constructor(private adminService: AdminService) {} + ngOnInit(): void { + this.fetchPlayers(); + } + + fetchPlayers(): void { + const filter: PlayerFilter = { + page: 0, + pageSize: 32, + order: PlayerFilter.OrderEnum.Ascending, + username: '', + sortBy: 'username' + }; + this.adminService.getAllPlayers(filter).subscribe( + (players) => { + this.userList = players; + }, + (error) => { + console.error('Error fetching players:', error); + } + ); + } + + banPlayer(user: UserData): void { + console.log(`Banning user: ${user.username}`); + } }