Update gestione edit/clona/add/rem durata
This commit is contained in:
@@ -27,13 +27,13 @@
|
||||
{
|
||||
@if (@noData)
|
||||
{
|
||||
<AddRA NewItemCreated="ReportSelect" InizioPer="@DayDTO.DtRif.AddHours(StartHour)" IdxDip="@IdxDipSel"></AddRA>
|
||||
<AddRA NewItemCreated="ReportSelected" InizioPer="@DayDTO.DtRif.AddHours(StartHour)" IdxDip="@IdxDipSel"></AddRA>
|
||||
}
|
||||
else if (@DayDTO != null && @DayDTO.ListRA != null)
|
||||
{
|
||||
@foreach (var item in ListRegAtt())
|
||||
{
|
||||
<RegAtt CurrData="item" Periodo="periodo" ListFasi="@ListFasi" ItemSelected="ReportSelect" IdxDipSel="@IdxDipSel"></RegAtt>
|
||||
<RegAtt CurrData="item" Periodo="periodo" ListFasi="@ListFasi" IdxDipSel="@IdxDipSel" ItemCloned="ReportCloned" ItemSelected="ReportSelected" ItemUpdated="ReportUpdated"></RegAtt>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,9 @@ namespace GPW.CORE.UI.Components
|
||||
[Parameter]
|
||||
public EventCallback<RegAttivitaModel> ItemSelected { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<RegAttivitaModel> ItemUpdated { get; set; }
|
||||
|
||||
private bool noData { get => DayDTO == null || DayDTO.ListRA == null || DayDTO.ListRA.Count == 0; }
|
||||
|
||||
private string TotLav
|
||||
@@ -138,10 +141,25 @@ namespace GPW.CORE.UI.Components
|
||||
/// <summary>
|
||||
/// Indico item selezionato
|
||||
/// </summary>
|
||||
protected async void ReportSelect(RegAttivitaModel selRecord)
|
||||
protected async void ReportSelected(RegAttivitaModel selRecord)
|
||||
{
|
||||
await ItemSelected.InvokeAsync(selRecord);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Indico item selezionato
|
||||
/// </summary>
|
||||
protected async void ReportCloned()
|
||||
{
|
||||
await ItemSelected.InvokeAsync(null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Indico item aggiornato
|
||||
/// </summary>
|
||||
protected async void ReportUpdated()
|
||||
{
|
||||
await ItemUpdated.InvokeAsync(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
@using CORE.Data.DbModels
|
||||
@using UI.Data
|
||||
@inject GpwDataService GDataServ
|
||||
@inject MessageService AppMServ
|
||||
|
||||
<div class="py-0 small flex-fill @blockCss" style="width: @widthPerc">
|
||||
<div class="d-flex">
|
||||
@@ -8,20 +9,38 @@
|
||||
@if (@CurrData.IdxFase > 0)
|
||||
{
|
||||
@*<div class="px-1 text-left border border-secondary border-top-0 border-bottom-0 border-left-0 table-info" style="font-size: 0.7rem;">*@
|
||||
<button @onclick="() => Edit()" class="px-1 text-center border border-secondary border-top-0 border-bottom-0 border-left-0 btn btn-info btn-sm" style="font-size: 0.72rem;">
|
||||
@if (@CurrData.OreTot > 1)
|
||||
{
|
||||
<div>@CurrData.Inizio.ToString("HH:mm")</div>
|
||||
<div>@CurrData.Fine.ToString("HH:mm")</div>
|
||||
<div class="badge badge-dark">@($"{@CurrData.Durata.Hours}h {@CurrData.Durata.Minutes:00}'")</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div>@CurrData.Inizio.ToString("HH")</div>
|
||||
<div>@CurrData.Inizio.ToString("mm")</div>
|
||||
<div class="badge badge-dark">@($"{CurrData.OreTot*60:N0}'")</div>
|
||||
}
|
||||
</button>
|
||||
<div class="dropdown">
|
||||
<button @onclick="() => Edit()" class="dropbtn px-1 text-center border border-secondary border-top-0 border-bottom-0 border-left-0 btn btn-info btn-sm" style="font-size: 0.72rem;">
|
||||
@if (@CurrData.OreTot > 1)
|
||||
{
|
||||
<div>@CurrData.Inizio.ToString("HH:mm")</div>
|
||||
<div>@CurrData.Fine.ToString("HH:mm")</div>
|
||||
<div class="badge badge-dark">@($"{@CurrData.Durata.Hours}h {@CurrData.Durata.Minutes:00}'")</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div>@CurrData.Inizio.ToString("HH")</div>
|
||||
<div>@CurrData.Inizio.ToString("mm")</div>
|
||||
<div class="badge badge-dark">@($"{CurrData.OreTot*60:N0}'")</div>
|
||||
}
|
||||
</button>
|
||||
<div class="dropdown-content p-2">
|
||||
<button @onclick="() => Edit()" class="btn btn-block btn-sm btn-info"><i class="fas fa-pencil-alt"></i> Edit</button>
|
||||
<button @onclick="() => Clone()" class="btn btn-block btn-sm btn-info"><i class="far fa-clone"></i> Clone</button>
|
||||
<div class="btn-group btn-group-sm w-100 py-2">
|
||||
<button @onclick="() => AddTime(15)" class="btn btn-sm btn-success">+15'</button>
|
||||
<button @onclick="() => AddTime(30)" class="btn btn-sm btn-success">+30'</button>
|
||||
<button @onclick="() => AddTime(60)" class="btn btn-sm btn-success">+1h</button>
|
||||
<button @onclick="() => AddTime(120)" class="btn btn-sm btn-success">+2h</button>
|
||||
</div>
|
||||
<div class="btn-group btn-group-sm w-100">
|
||||
<button @onclick="() => AddTime(-15)" class="btn btn-sm btn-danger">-15'</button>
|
||||
<button @onclick="() => AddTime(-30)" class="btn btn-sm btn-danger">-30'</button>
|
||||
<button @onclick="() => AddTime(-60)" class="btn btn-sm btn-danger">-1h</button>
|
||||
<button @onclick="() => AddTime(-120)" class="btn btn-sm btn-danger">-2h</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="px-1 text-left textTrim flex-fill">
|
||||
<div class="text-dark" title="@CurrData.FasiNav?.ProgettoNav?.ClienteNav?.RagSociale - @CurrData.FasiNav?.ProgettoNav?.NomeProj"><b>@(trimLine($"{CurrData.FasiNav?.ProgettoNav?.ClienteNav?.RagSociale}",65))</b> - @(trimLine($"{CurrData.FasiNav?.ProgettoNav?.NomeProj}",75))</div>
|
||||
<div class="text-secondary" title="@CurrData.FasiNav?.DescrizioneFase">@(trimLine($"{CurrData.FasiNav?.DescrizioneFase}",130))</div>
|
||||
@@ -29,12 +48,12 @@
|
||||
</div>
|
||||
@*<div class="pl-1 text-right">
|
||||
<div>
|
||||
<button class="btn btn-sm btn-outline-info" @onclick="() => Edit()"><i class="fas fa-edit"></i></button>
|
||||
<button class="btn btn-sm btn-outline-info" @onclick="() => Edit()"><i class="fas fa-plus"></i></button>
|
||||
</div>
|
||||
<div>
|
||||
<button class="btn btn-sm btn-outline-success" @onclick="() => Edit()"><i class="fas fa-magic"></i></button>
|
||||
<button class="btn btn-sm btn-outline-success" @onclick="() => Edit()"><i class="fas fa-minus"></i></button>
|
||||
</div>
|
||||
</div>*@
|
||||
</div>*@
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -60,9 +79,14 @@
|
||||
[Parameter]
|
||||
public List<AnagFasiModel> ListFasi { get; set; } = null!;
|
||||
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<RegAttivitaModel> ItemCloned { get; set; }
|
||||
[Parameter]
|
||||
public EventCallback<RegAttivitaModel> ItemSelected { get; set; }
|
||||
[Parameter]
|
||||
public EventCallback<RegAttivitaModel> ItemUpdated { get; set; }
|
||||
|
||||
private int deltaTime = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Trim linea di testo secondo regole
|
||||
@@ -133,6 +157,15 @@
|
||||
await ItemSelected.InvokeAsync(CurrData);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Indico item selezionato
|
||||
/// </summary>
|
||||
protected async void Clone()
|
||||
{
|
||||
AppMServ.clonedRA = CurrData;
|
||||
await ItemCloned.InvokeAsync(CurrData);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Indico item selezionato
|
||||
/// </summary>
|
||||
@@ -140,4 +173,13 @@
|
||||
{
|
||||
await ItemSelected.InvokeAsync(selRecord);
|
||||
}
|
||||
|
||||
protected async void AddTime(int deltaMin)
|
||||
{
|
||||
// Aggiungo durata e salvo...
|
||||
CurrData.Fine = CurrData.Fine.AddMinutes(deltaMin);
|
||||
// salvo
|
||||
await GDataServ.RegAttUpdate(CurrData);
|
||||
await ItemUpdated.InvokeAsync(CurrData);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,24 +88,6 @@
|
||||
<button class="btn btn-primary" type="button"><i class="fas fa-angle-down"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
@*<div class="input-group input-group-sm">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
<i class="far fa-clock"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div type="text" class="form-control" placeholder="durata..">@currRecord.Durata.TotalMinutes min</div>
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-primary" type="button">15'</button>
|
||||
<button class="btn btn-danger" type="button">30'</button>
|
||||
<button class="btn btn-danger" type="button">45'</button>
|
||||
<button class="btn btn-primary" type="button"><i class="fas fa-redo-alt"></i></button>
|
||||
<button class="btn btn-danger" type="button">1h</button>
|
||||
<button class="btn btn-danger" type="button">2h</button>
|
||||
<button class="btn btn-danger" type="button">4h</button>
|
||||
<button class="btn btn-danger" type="button">8h</button>
|
||||
</div>
|
||||
</div>*@
|
||||
<label class="small">Descrizione</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
@foreach (var currItem in ListRecords)
|
||||
{
|
||||
<div class="col-12">
|
||||
<DayHoriz DayDTO="@currItem" StartHour="@startHour" EndHour="@endHour" ListFasi="@ListFasi" ItemSelected="ReportSelect" IdxDipSel="@IdxDipendente"></DayHoriz>
|
||||
<DayHoriz DayDTO="@currItem" StartHour="@startHour" EndHour="@endHour" ListFasi="@ListFasi" ItemSelected="ReportSelect" ItemUpdated="ResetData" IdxDipSel="@IdxDipendente"></DayHoriz>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@@ -33,6 +33,33 @@ a,
|
||||
.regionclicked {
|
||||
fill: red;
|
||||
}
|
||||
.dropdown {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
.dropdown-content {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: #f1f1f1;
|
||||
min-width: 16em;
|
||||
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
|
||||
z-index: 1;
|
||||
}
|
||||
.dropdown-content a {
|
||||
color: black;
|
||||
padding: 12px 16px;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
}
|
||||
.dropdown-content a:hover {
|
||||
background-color: #ddd;
|
||||
}
|
||||
.dropdown:hover .dropdown-content {
|
||||
display: block;
|
||||
}
|
||||
.dropdown:hover .dropbtn {
|
||||
background-color: #3e8e41;
|
||||
}
|
||||
.textTrim {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
|
||||
@@ -43,6 +43,39 @@ a, .btn-link {
|
||||
}
|
||||
|
||||
|
||||
.dropdown {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dropdown-content {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: #f1f1f1;
|
||||
min-width: 16em;
|
||||
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.dropdown-content a {
|
||||
color: black;
|
||||
padding: 12px 16px;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dropdown-content a:hover {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
.dropdown:hover .dropdown-content {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dropdown:hover .dropbtn {
|
||||
background-color: #3e8e41;
|
||||
}
|
||||
|
||||
.textTrim {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');html,body{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;}h1:focus{outline:none;}a,.btn-link{color:#0071c1;}.btn-primary{color:#fff;background-color:#1b6ec2;border-color:#1861ac;}.content{padding-top:1.1rem;}.valid.modified:not([type=checkbox]){outline:1px solid #26b050;}.invalid{outline:1px solid #f00;}.validation-message{color:#f00;}.regionnotclicked{fill:white;}.regionclicked{fill:red;}.textTrim{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.max5Char{white-space:nowrap;width:10rem;overflow:hidden;text-overflow:ellipsis;}.max10Char{white-space:nowrap;width:10rem;overflow:hidden;text-overflow:ellipsis;}.max20Char{white-space:nowrap;width:20rem;overflow:hidden;text-overflow:ellipsis;}#blazor-error-ui{background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000;}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;padding:1rem 1rem 1rem 3.7rem;color:#fff;}.blazor-error-boundary::after{content:"An error has occurred.";}
|
||||
@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');html,body{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;}h1:focus{outline:none;}a,.btn-link{color:#0071c1;}.btn-primary{color:#fff;background-color:#1b6ec2;border-color:#1861ac;}.content{padding-top:1.1rem;}.valid.modified:not([type=checkbox]){outline:1px solid #26b050;}.invalid{outline:1px solid #f00;}.validation-message{color:#f00;}.regionnotclicked{fill:white;}.regionclicked{fill:red;}.dropdown{position:relative;display:inline-block;}.dropdown-content{display:none;position:absolute;background-color:#f1f1f1;min-width:16em;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);z-index:1;}.dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block;}.dropdown-content a:hover{background-color:#ddd;}.dropdown:hover .dropdown-content{display:block;}.dropdown:hover .dropbtn{background-color:#3e8e41;}.textTrim{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.max5Char{white-space:nowrap;width:10rem;overflow:hidden;text-overflow:ellipsis;}.max10Char{white-space:nowrap;width:10rem;overflow:hidden;text-overflow:ellipsis;}.max20Char{white-space:nowrap;width:20rem;overflow:hidden;text-overflow:ellipsis;}#blazor-error-ui{background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000;}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;padding:1rem 1rem 1rem 3.7rem;color:#fff;}.blazor-error-boundary::after{content:"An error has occurred.";}
|
||||
Reference in New Issue
Block a user