979b1f2310
fixed discord link showing when no invite specified OpenGraph image set to absolute url more changes to killcallback and logging fixed some angle conversion stuff
95 lines
3.7 KiB
Plaintext
95 lines
3.7 KiB
Plaintext
@model SharedLibrary.Dtos.PlayerInfo
|
|
@{
|
|
string match = System.Text.RegularExpressions.Regex.Match(Model.Name.ToUpper(), "[A-Z]").Value;
|
|
string shortCode = match == string.Empty ? "?" : match;
|
|
string marginClass = Model.Aliases.Count > 0 ? "mr-4" : "";
|
|
}
|
|
<div id="profile_wrapper" class="row d-flex d-sm-inline-flex justify-content-center justify-content-left pb-3">
|
|
<div class="mr-auto ml-auto ml-sm-0 mr-sm-0">
|
|
<div id="profile_avatar" class="mb-4 mb-md-0 text-center level-bgcolor-@Model.Level.ToLower()">
|
|
<span class="profile-shortcode">@shortCode</span>
|
|
</div>
|
|
</div>
|
|
<div id="profile_info" class="text-center text-sm-left pr-3 pl-3">
|
|
<div id="profile_name">
|
|
<h1>
|
|
<span class="client-name @marginClass">
|
|
@Model.Name
|
|
@if (Model.Aliases.Count > 0 || ViewBag.Authorized)
|
|
{
|
|
<span id="profile_aliases_btn" class="oi oi-caret-bottom pl-2"></span>
|
|
}
|
|
|
|
@{
|
|
if (ViewBag.Authorized)
|
|
{
|
|
if (Model.Level == SharedLibrary.Objects.Player.Permission.User.ToString())
|
|
{
|
|
|
|
<span id="profile_action_ban_btn" class="oi oi-ban text-danger" title="ban" aria-hidden="true"></span>
|
|
}
|
|
|
|
if (Model.Level == SharedLibrary.Objects.Player.Permission.Banned.ToString())
|
|
{
|
|
<span id="profile_action_unban_btn" class="iconic iconic-carriage-return text-success" title="carriage return" aria-hidden="true"></span>
|
|
}
|
|
}
|
|
}
|
|
|
|
</span>
|
|
</h1>
|
|
<div id="profile_aliases" class="pr-0 pr-sm-4 pb-2 mb-2 text-muted">
|
|
@{
|
|
foreach (string alias in Model.Aliases)
|
|
{
|
|
@alias <br />
|
|
}
|
|
|
|
if (ViewBag.Authorized)
|
|
{
|
|
foreach (string ip in Model.IPs)
|
|
{
|
|
<a class="ip-locate-link" href="#" data-ip="@ip">@ip</a><br />
|
|
}
|
|
|
|
}
|
|
}
|
|
</div>
|
|
</div>
|
|
<div id="profile_level" class="text-muted mb-2">
|
|
<h5><span class="level-color-@Model.Level.ToLower()"><strong>@Model.Level</strong></span></h5>
|
|
</div>
|
|
<div id="profile_time_played" class="text-muted">
|
|
Played <span class="text-primary">@Model.TimePlayed</span> hours
|
|
</div>
|
|
<div id="profile_first_seen" class="text-muted">
|
|
First seen <span class="text-primary">@Model.FirstSeen</span> ago
|
|
</div>
|
|
<div id="profile_last_seen" class="text-muted">
|
|
Last seen <span class="text-primary">@Model.LastSeen</span> ago
|
|
</div>
|
|
</div>
|
|
<div id="profile_meta" class="text-center text-sm-right pt-2 mt-md-4 pt-md-3 mr-4 pr-4 mr-md-0 ml-4 pl-4 ml-md-0 pr-md-0 pl-md-0">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row d-md-flex pt-2">
|
|
<div id="profile_events" class="text-muted text-left ml-sm-0">
|
|
@{
|
|
if (Model.Meta.Count == 0)
|
|
{
|
|
<span> No recent events</span>
|
|
}
|
|
}
|
|
</div>
|
|
</div>
|
|
|
|
@section scripts {
|
|
<script>
|
|
const clientInfo = {};
|
|
clientInfo.clientId = @Model.ClientId;
|
|
clientInfo.Meta =@Html.Raw(Json.Serialize(@Model.Meta));
|
|
</script>
|
|
<script type="text/javascript" src="~/js/profile.js"></script>
|
|
} |