@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="profile-action oi oi-ban text-danger" title="Ban Client" data-action="ban" aria-hidden="true"></span> } if (Model.Level == SharedLibrary.Objects.Player.Permission.Banned.ToString()) { <span id="profile_action_unban_btn" class="profile-action oi oi-action-undo text-success" title="carriage return" data-action="unban" 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 targetid { <input type="hidden" name="targetId" value="@Model.ClientId" /> } @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> }