[Feature]: Admininistration Spieler Übersicht #1

Merged
SZUT-Rajbir merged 1 commit from task/td-36-administration-spieler-filter-optionen into trunk 2025-03-06 10:14:50 +00:00
Member

Ticket

TD-36

Beschreibung

Ich habe die Benutzerfläche für einen Admin implementiert, um nach einen Spieler zu filtern.

Weitere Infos

No response

### Ticket TD-36 ### Beschreibung Ich habe die Benutzerfläche für einen Admin implementiert, um nach einen Spieler zu filtern. ### Weitere Infos _No response_
SZUT-Rajbir added 5 commits 2025-03-05 22:07:47 +00:00
Task: reverted everything to start from scratch
Some checks failed
Quality Check / Linting (push) Failing after 21s
9d3c2d8a47
Task: retrieving data from Server and displaying it in the table
Some checks failed
Quality Check / Linting (push) Failing after 21s
b502b1f66c
TD-36: Implemented that only showing component and fetching player data if logged in
All checks were successful
Quality Check / Linting (push) Successful in 23s
Quality Check / Linting (pull_request) Successful in 22s
7bbf2db126
SZUT-Rajbir changed title from [Feature]: to WIP: [Feature]: 2025-03-05 22:07:52 +00:00
SZUT-Rajbir changed title from WIP: [Feature]: to [Feature]: 2025-03-05 22:07:54 +00:00
requested review from snoweuph 2025-03-05 22:08:00 +00:00
SZUT-Rajbir changed title from [Feature]: to [Feature]: Admininistration Spieler Übersicht 2025-03-05 22:12:12 +00:00
SZUT-Dorian was assigned by SZUT-Rajbir 2025-03-05 22:12:32 +00:00
SZUT-Rajbir self-assigned this 2025-03-05 22:12:32 +00:00
SZUT-Mehdi was assigned by SZUT-Rajbir 2025-03-05 22:12:33 +00:00
SZUT-Rajbir force-pushed task/td-36-administration-spieler-filter-optionen from 7bbf2db126 to 332acff57b 2025-03-05 22:22:20 +00:00 Compare
snoweuph requested changes 2025-03-05 23:12:08 +00:00
Dismissed
package.json Outdated
@ -51,3 +51,3 @@
"typescript": "~5.6.2"
},
"api_version": "v0.0.0-rc.2",
"api_version": "v0.0.0-rc6",
Owner

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

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
SZUT-Rajbir marked this conversation as resolved
@ -0,0 +1,41 @@
@if (authService.$user|async; as user) {
<div class="search-container" style="display: flex; align-items: center; gap: 8px;">
Owner

Bang Notation Einhalten:
seach-containeradmin-overview

Außerdem keine Inline Styles.
Für Styling ist die SCSS zuständig

Bang Notation Einhalten: `seach-container` ⇨ `admin-overview` Außerdem keine Inline Styles. Für Styling ist die SCSS zuständig
SZUT-Rajbir marked this conversation as resolved
@ -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;">
Owner

keine Inline Styles.
Für Styling ist die SCSS zuständig

keine Inline Styles. Für Styling ist die SCSS zuständig
SZUT-Rajbir marked this conversation as resolved
@ -0,0 +6,4 @@
<input matInput [(ngModel)]="searchQuery" placeholder="Username"/>
</mat-form-field>
<button mat-raised-button color="primary" (click)="onSearch()">Search</button>
Owner

Bitte statdessen einen mat-fab oder mat-mini-fab mit einem passenden Icon benutzen

Bitte statdessen einen `mat-fab` oder `mat-mini-fab` mit einem passenden Icon benutzen
SZUT-Rajbir marked this conversation as resolved
@ -0,0 +8,4 @@
<button mat-raised-button color="primary" (click)="onSearch()">Search</button>
<button mat-raised-button color="warn" (click)="resetFilter()">Reset</button>
Owner

Bitte statdessen einen mat-fab oder mat-mini-fab mit einem passenden Icon benutzen

Bitte statdessen einen `mat-fab` oder `mat-mini-fab` mit einem passenden Icon benutzen
SZUT-Rajbir marked this conversation as resolved
@ -0,0 +12,4 @@
</div>
<div class="table-container">
<table mat-table [dataSource]="userList" class="mat-elevation-z8">
Owner

<table mat-table><mat-table>

mat-table direkt, anstatt nur als Property ist mehr A11y compliant, und sollte deswegen immer genutzt werden.

`<table mat-table>` ⇒ `<mat-table>` mat-table direkt, anstatt nur als Property ist mehr A11y compliant, und sollte deswegen immer genutzt werden.
SZUT-Rajbir marked this conversation as resolved
@ -0,0 +37,4 @@
</table>
</div>
} @else {
<p>Welcome to the Admin Page!</p>
Owner

Hier könnte so ein Text hin wie:

Du musst eingeloggt sein, um dies zu sehen

oder so

Hier könnte so ein Text hin wie: > Du musst eingeloggt sein, um dies zu sehen oder so
SZUT-Rajbir marked this conversation as resolved
@ -0,0 +1,3 @@
.ban-column{
Owner

Theoretisch gilt hier:

Bang-Notation einhalten
ban-columnadmin-overview__ban-column

Allerdings, könnt ihr direkt auf die column per Namen zugreifen mit:

.admin-overview th.mat-column-ban {
    // Your CSS
}
**Theoretisch gilt hier:** Bang-Notation einhalten `ban-column` ⇨ `admin-overview__ban-column` **Allerdings, könnt ihr direkt auf die column per Namen zugreifen mit:** ```scss .admin-overview th.mat-column-ban { // Your CSS } ```
SZUT-Rajbir marked this conversation as resolved
@ -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]
Owner

Bitte alle Imports die Mann kann, durch ihre Module ersetzten, also:

MatInputMatInputModule
MatLabel & FormsModule & MatFormFieldMatFormFieldModule

Bitte alle Imports die Mann kann, durch ihre Module ersetzten, also: `MatInput` ⇨ `MatInputModule` `MatLabel & FormsModule & MatFormField` ⇨ `MatFormFieldModule`
Author
Member

[(ngModel)] braucht FormsModule, die andern habe ich entfernt.

[(ngModel)] braucht FormsModule, die andern habe ich entfernt.
SZUT-Rajbir marked this conversation as resolved
@ -0,0 +19,4 @@
})
export class AdminOverviewComponent implements OnInit {
displayedColumns: Array<string> = ['username', 'ban'];
userList: Array<AdministratablePlayer> = [];
Owner

Es ist eine Liste.
Wir müssen nicht im Namen der Variable nochmal sagen, was es ist.

userListusers

Außerdem solltet ihr hier statt einer Liste auf eine MatTableDataSource setzten. Siehe hier

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](https://git.euph.dev/SZUT/EMS/src/branch/trunk/src/app/views/employee-detail/employee-detail.component.ts#L34)
SZUT-Rajbir marked this conversation as resolved
@ -0,0 +54,4 @@
banPlayer(user: UserData): void {
console.log(`Banning user: ${user.username}`);
//implement banning logic
Owner

Bitte als einen To-do Kommentar formatieren

// TODO: implement banning logic

Bitte als einen To-do Kommentar formatieren `// TODO: implement banning logic`
SZUT-Rajbir marked this conversation as resolved
@ -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>
Owner

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.

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.
SZUT-Rajbir marked this conversation as resolved
SZUT-Rajbir force-pushed task/td-36-administration-spieler-filter-optionen from 332acff57b to f0030f9222 2025-03-06 09:59:24 +00:00 Compare
SZUT-Rajbir force-pushed task/td-36-administration-spieler-filter-optionen from f0030f9222 to 21476af436 2025-03-06 10:04:35 +00:00 Compare
requested review from snoweuph 2025-03-06 10:05:54 +00:00
snoweuph approved these changes 2025-03-06 10:13:51 +00:00
snoweuph left a comment
Owner

Pasta 🍝

Pasta 🍝
SZUT-Rajbir merged commit 078ceb3465 into trunk 2025-03-06 10:14:50 +00:00
SZUT-Rajbir deleted branch task/td-36-administration-spieler-filter-optionen 2025-03-06 10:14:50 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: TowerDefence/Administration#1
No description provided.