5 changed files with 95 additions and 65 deletions
@ -0,0 +1,83 @@ |
|||||
|
import {Component, Input} from "@angular/core"; |
||||
|
import {ActionService} from "../../services/action.service"; |
||||
|
import {AuthService} from "../../services/auth.service"; |
||||
|
import {Player} from "../../entities/servers/Player"; |
||||
|
import {Tf2dataService} from "../../services/tf2data.service"; |
||||
|
|
||||
|
@Component({ |
||||
|
selector: 'app-server-player-viewer', |
||||
|
template: ` |
||||
|
<div class="container responsive-grid-100"> |
||||
|
<mat-card> |
||||
|
<mat-card-title>{{player.score}}</mat-card-title> |
||||
|
<mat-card-subtitle>очков набрано</mat-card-subtitle> |
||||
|
</mat-card> |
||||
|
<mat-card> |
||||
|
<mat-card-title>{{player.deads}}</mat-card-title> |
||||
|
<mat-card-subtitle>смертей</mat-card-subtitle> |
||||
|
</mat-card> |
||||
|
<mat-card> |
||||
|
<mat-card-title>{{player.ping}}</mat-card-title> |
||||
|
<mat-card-subtitle>пинг игрока</mat-card-subtitle> |
||||
|
</mat-card> |
||||
|
<mat-card> |
||||
|
<mat-card-title>{{player.loss}}</mat-card-title> |
||||
|
<mat-card-subtitle>потери пакетов</mat-card-subtitle> |
||||
|
</mat-card> |
||||
|
<mat-card *ngIf="player.clz != null"> |
||||
|
<mat-card-title>{{tf2data.TFClassType[player.clz]}}</mat-card-title> |
||||
|
<mat-card-subtitle>на сервере</mat-card-subtitle> |
||||
|
</mat-card> |
||||
|
<mat-card *ngIf="player.team != null"> |
||||
|
<mat-card-title>{{tf2data.TFTeam[player.team]}}</mat-card-title> |
||||
|
<mat-card-subtitle>команда</mat-card-subtitle> |
||||
|
</mat-card> |
||||
|
</div> |
||||
|
<div class="container responsive-grid-250"> |
||||
|
<mat-card> |
||||
|
<mat-card-content> |
||||
|
<p *ngIf="player.steam.steam2" class="clickable" (click)="actionService.copyToClipboard(player.steam.steam2, true)">{{player.steam.steam2}}</p> |
||||
|
<p *ngIf="player.steam.steam3" class="clickable" (click)="actionService.copyToClipboard(player.steam.steam3, true)">{{player.steam.steam3}}</p> |
||||
|
<p *ngIf="player.steam.steam64" class="clickable" (click)="actionService.copyToClipboard(player.steam.steam64, true)">{{player.steam.steam64}}</p> |
||||
|
</mat-card-content> |
||||
|
</mat-card> |
||||
|
<mat-card class="clickable" |
||||
|
*ngIf="player.steam.steam64 != null" |
||||
|
(click)="authService.isAuth()?actionService.goToUrlViaRouter(['profile', player.steam.steam64]):actionService.showSnack('Сначала нужно войти на сайте')"> |
||||
|
<mat-card-title>Открыть профиль</mat-card-title> |
||||
|
<mat-card-subtitle>на сайте</mat-card-subtitle> |
||||
|
</mat-card> |
||||
|
<mat-card class="clickable" |
||||
|
(click)="actionService.goToUrlViaTab(player.steam.community_url)"> |
||||
|
<mat-card-title >Открыть профиль</mat-card-title> |
||||
|
<mat-card-subtitle>в стиме</mat-card-subtitle> |
||||
|
</mat-card> |
||||
|
<mat-card class="clickable" |
||||
|
(click)="authService.isAuth()?actionService.simpleAction(player.steam, 'report'):actionService.showSnack('Сначала нужно войти на сайте')"> |
||||
|
<mat-card-title>Пожаловаться</mat-card-title> |
||||
|
<mat-card-subtitle>на игрока который играет</mat-card-subtitle> |
||||
|
</mat-card> |
||||
|
</div> |
||||
|
<div class="container responsive-grid-300" *ngIf="authService.isModerator()"> |
||||
|
<mat-card class="clickable" (click)="actionService.simpleAction(player.steam, 'ban')"> |
||||
|
<mat-card-title>Забанить</mat-card-title> |
||||
|
</mat-card> |
||||
|
<mat-card class="clickable" (click)="actionService.simpleAction(player.steam, 'kick')"> |
||||
|
<mat-card-title>Кикнуть</mat-card-title> |
||||
|
</mat-card> |
||||
|
<mat-card class="clickable" (click)="actionService.simpleAction(player.steam, 'mute')"> |
||||
|
<mat-card-title>Кинуть в мут</mat-card-title> |
||||
|
</mat-card> |
||||
|
</div> |
||||
|
` |
||||
|
}) |
||||
|
export class ServerPlayerViewer { |
||||
|
|
||||
|
@Input("player") |
||||
|
player!: Player; |
||||
|
|
||||
|
constructor(public actionService: ActionService, |
||||
|
public authService: AuthService, |
||||
|
public tf2data: Tf2dataService) { |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue