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