[Feature]: Admininistration Spieler Übersicht #1
No reviewers
Labels
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TowerDefence/Administration#1
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "task/td-36-administration-spieler-filter-optionen"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ticket
TD-36
Beschreibung
Ich habe die Benutzerfläche für einen Admin implementiert, um nach einen Spieler zu filtern.
Weitere Infos
No response
[Feature]:to WIP: [Feature]:WIP: [Feature]:to [Feature]:[Feature]:to [Feature]: Admininistration Spieler Übersicht7bbf2db126
to332acff57b
@ -51,3 +51,3 @@
"typescript": "~5.6.2"
},
"api_version": "v0.0.0-rc.2",
"api_version": "v0.0.0-rc6",
Bitte einmal auf
v0.0.0-rc.7
setzten.Das ist der neuste Stand auf der Server Seite.
Nicht vergessen:
just generate
Es geht darum sicherzustellen das alles zusammen funktioniert
@ -0,0 +1,41 @@
@if (authService.$user|async; as user) {
<div class="search-container" style="display: flex; align-items: center; gap: 8px;">
Bang Notation Einhalten:
seach-container
⇨admin-overview
Außerdem keine Inline Styles.
Für Styling ist die SCSS zuständig
@ -0,0 +1,41 @@
@if (authService.$user|async; as user) {
<div class="search-container" style="display: flex; align-items: center; gap: 8px;">
<mat-form-field appearance="fill" floatLabel="always" style="flex: 1;">
keine Inline Styles.
Für Styling ist die SCSS zuständig
@ -0,0 +6,4 @@
<input matInput [(ngModel)]="searchQuery" placeholder="Username"/>
</mat-form-field>
<button mat-raised-button color="primary" (click)="onSearch()">Search</button>
Bitte statdessen einen
mat-fab
odermat-mini-fab
mit einem passenden Icon benutzen@ -0,0 +8,4 @@
<button mat-raised-button color="primary" (click)="onSearch()">Search</button>
<button mat-raised-button color="warn" (click)="resetFilter()">Reset</button>
Bitte statdessen einen
mat-fab
odermat-mini-fab
mit einem passenden Icon benutzen@ -0,0 +12,4 @@
</div>
<div class="table-container">
<table mat-table [dataSource]="userList" class="mat-elevation-z8">
<table mat-table>
⇒<mat-table>
mat-table direkt, anstatt nur als Property ist mehr A11y compliant, und sollte deswegen immer genutzt werden.
@ -0,0 +37,4 @@
</table>
</div>
} @else {
<p>Welcome to the Admin Page!</p>
Hier könnte so ein Text hin wie:
oder so
@ -0,0 +1,3 @@
.ban-column{
Theoretisch gilt hier:
Bang-Notation einhalten
ban-column
⇨admin-overview__ban-column
Allerdings, könnt ihr direkt auf die column per Namen zugreifen mit:
@ -0,0 +15,4 @@
templateUrl: './admin-overview.component.html',
styleUrls: ['./admin-overview.component.scss'],
standalone: true,
imports: [MatTableModule, MatButtonModule, MatLabel, MatInput, FormsModule, MatFormField, AsyncPipe, MatIcon]
Bitte alle Imports die Mann kann, durch ihre Module ersetzten, also:
MatInput
⇨MatInputModule
MatLabel & FormsModule & MatFormField
⇨MatFormFieldModule
[(ngModel)] braucht FormsModule, die andern habe ich entfernt.
@ -0,0 +19,4 @@
})
export class AdminOverviewComponent implements OnInit {
displayedColumns: Array<string> = ['username', 'ban'];
userList: Array<AdministratablePlayer> = [];
Es ist eine Liste.
Wir müssen nicht im Namen der Variable nochmal sagen, was es ist.
userList
⇨users
Außerdem solltet ihr hier statt einer Liste auf eine
MatTableDataSource
setzten. Siehe hier@ -0,0 +54,4 @@
banPlayer(user: UserData): void {
console.log(`Banning user: ${user.username}`);
//implement banning logic
Bitte als einen To-do Kommentar formatieren
// TODO: implement banning logic
@ -1,3 +1,3 @@
<div class="dashboard">
<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Facere illo animi quidem repellat perspiciatis, excepturi amet corrupti ipsa sit consequuntur placeat ratione saepe velit asperiores suscipit esse quod minima exercitationem minus, alias laudantium inventore! Beatae cum nobis error suscipit cupiditate, praesentium itaque ut ipsa iusto in doloribus unde quisquam consequuntur.</p>
<app-admin-overview></app-admin-overview>
Das Dashboard ist genau die Seite, die ihr baut.
Das muss keine eigenen Komponente sein.
Eine neuen Komponente macht nur Sinn, wenn ihr das Dashboard aus mehreren komplexen custom Komponente zusammenbauen würdet, aber dies ist nicht der fall.
332acff57b
tof0030f9222
f0030f9222
to21476af436
Pasta 🍝