dynamizing UI
This commit is contained in:
parent
892be2c2b8
commit
3896afc380
3 changed files with 54 additions and 9 deletions
|
@ -2,15 +2,50 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using BirdsiteLive.Domain.Repository;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace BirdsiteLive.Component
|
namespace BirdsiteLive.Component
|
||||||
{
|
{
|
||||||
public class NodeInfoViewComponent : ViewComponent
|
public class NodeInfoViewComponent : ViewComponent
|
||||||
{
|
{
|
||||||
|
private readonly IModerationRepository _moderationRepository;
|
||||||
|
|
||||||
|
#region Ctor
|
||||||
|
public NodeInfoViewComponent(IModerationRepository moderationRepository)
|
||||||
|
{
|
||||||
|
_moderationRepository = moderationRepository;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
public IViewComponentResult Invoke()
|
public IViewComponentResult Invoke()
|
||||||
{
|
{
|
||||||
return View(null);
|
var followerPolicy = _moderationRepository.GetModerationType(ModerationEntityTypeEnum.Follower);
|
||||||
|
var twitterAccountPolicy = _moderationRepository.GetModerationType(ModerationEntityTypeEnum.TwitterAccount);
|
||||||
|
|
||||||
|
var viewModel = new NodeInfoViewModel
|
||||||
|
{
|
||||||
|
BlacklistingEnabled = followerPolicy == ModerationTypeEnum.BlackListing ||
|
||||||
|
twitterAccountPolicy == ModerationTypeEnum.BlackListing,
|
||||||
|
WhitelistingEnabled = followerPolicy == ModerationTypeEnum.WhiteListing ||
|
||||||
|
twitterAccountPolicy == ModerationTypeEnum.WhiteListing,
|
||||||
|
InstanceSaturation = 16,
|
||||||
|
};
|
||||||
|
|
||||||
|
viewModel = new NodeInfoViewModel
|
||||||
|
{
|
||||||
|
BlacklistingEnabled = false,
|
||||||
|
WhitelistingEnabled = false,
|
||||||
|
InstanceSaturation = 175
|
||||||
|
};
|
||||||
|
return View(viewModel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class NodeInfoViewModel
|
||||||
|
{
|
||||||
|
public bool BlacklistingEnabled { get; set; }
|
||||||
|
public bool WhitelistingEnabled { get; set; }
|
||||||
|
public int InstanceSaturation { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,22 @@
|
||||||
@*
|
@model BirdsiteLive.Component.NodeInfoViewModel
|
||||||
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
|
|
||||||
*@
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
@if (ViewData.Model.WhitelistingEnabled)
|
||||||
|
{
|
||||||
<a href="#" class="badge badge-light" title="What does this mean?">Whitelisting Enabled</a>
|
<a href="#" class="badge badge-light" title="What does this mean?">Whitelisting Enabled</a>
|
||||||
|
}
|
||||||
|
@if (ViewData.Model.BlacklistingEnabled)
|
||||||
|
{
|
||||||
<a href="#" class="badge badge-light" title="What does this mean?">Blacklisting Enabled</a>
|
<a href="#" class="badge badge-light" title="What does this mean?">Blacklisting Enabled</a>
|
||||||
|
}
|
||||||
|
|
||||||
<div class="node-progress-bar">
|
<div class="node-progress-bar">
|
||||||
<div class="node-progress-bar__label">Instance saturation: </div>
|
<div class="node-progress-bar__label">Instance saturation: </div>
|
||||||
<div class="progress node-progress-bar__bar">
|
<div class="progress node-progress-bar__bar">
|
||||||
<div class="progress-bar" style="width: 15%">15%</div>
|
<div class="progress-bar
|
||||||
|
@((ViewData.Model.InstanceSaturation > 50 && ViewData.Model.InstanceSaturation < 75) ? "bg-warning ":"")
|
||||||
|
@((ViewData.Model.InstanceSaturation > 75 && ViewData.Model.InstanceSaturation < 100) ? "bg-danger ":"")
|
||||||
|
@((ViewData.Model.InstanceSaturation > 100) ? "bg-saturation-danger ":"")" style="width: @ViewData.Model.InstanceSaturation%">@ViewData.Model.InstanceSaturation%</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -7,12 +7,15 @@
|
||||||
border-bottom: 1px solid #dee2e6;
|
border-bottom: 1px solid #dee2e6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.bg-saturation-danger {
|
||||||
|
background-color: #800000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 767px) {
|
@media (max-width: 767px) {
|
||||||
.node-progress-bar {
|
.node-progress-bar {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
margin-top: 3px;
|
||||||
margin-bottom: 7px;
|
margin-bottom: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue