wip v0.8.6
This commit is contained in:
parent
66c4164baa
commit
dd936c75ef
66 changed files with 62699 additions and 151 deletions
|
@ -16,51 +16,58 @@
|
|||
//
|
||||
*@
|
||||
|
||||
<PageTitle>Innotec Danmark A/S</PageTitle>
|
||||
<PageTitle>Inno Web CRM</PageTitle>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-4">
|
||||
<span class="workDate">@($"{DateTime.Parse(_workDate).ToLongDateString()}")</span>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<WorkDateComponent OnChanged="FetchActivities"></WorkDateComponent>
|
||||
</div>
|
||||
<div class="col">
|
||||
</div>
|
||||
</div>
|
||||
<AuthorizeView>
|
||||
<Authorized>
|
||||
<div class="row mb-1 align-items-center">
|
||||
<div class="col-md-4">
|
||||
<span class="workDate">@(string.IsNullOrWhiteSpace(_workDate) ? "" : $"{DateTime.Parse(_workDate).ToLongDateString()}")</span>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<WorkDateComponent OnChanged="GetActivities"></WorkDateComponent>
|
||||
</div>
|
||||
<div class="col">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<hr />
|
||||
<h5>Dagens aktivitet</h5>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Kunde</th>
|
||||
<th scope="col">Demo</th>
|
||||
<th scope="col">Salg</th>
|
||||
<th scope="col">Sum</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if (_view != null)
|
||||
{
|
||||
foreach (var activity in _view.Activities)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@activity.Company.Name
|
||||
</td>
|
||||
<td>
|
||||
@activity.Demo
|
||||
</td>
|
||||
<td>
|
||||
@activity.SalesResume
|
||||
</td>
|
||||
<td>
|
||||
@activity.OrderAmount
|
||||
</td>
|
||||
<hr />
|
||||
<h5>Dagens aktivitet</h5>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="align-items-center">
|
||||
<th scope="col">Kunde</th>
|
||||
<th scope="col">Demo</th>
|
||||
<th scope="col">Salg</th>
|
||||
<th scope="col">Sum</th>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if (_view != null)
|
||||
{
|
||||
foreach (var activity in _view.Activities)
|
||||
{
|
||||
<tr class="align-items-center">
|
||||
<td>
|
||||
@activity.Company.Name
|
||||
</td>
|
||||
<td>
|
||||
@activity.Demo
|
||||
</td>
|
||||
<td>
|
||||
@activity.SalesResume
|
||||
</td>
|
||||
<td>
|
||||
@activity.OrderAmount
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</Authorized>
|
||||
<NotAuthorized>
|
||||
<a href="/login">Login</a>
|
||||
</NotAuthorized>
|
||||
</AuthorizeView>
|
||||
|
|
|
@ -37,23 +37,23 @@ public partial class Home : IDisposable
|
|||
[Inject] private NavigationManager Navigator { get; set; }
|
||||
[Inject] private IActivityHttpRepository ActivityRepo { get; set; }
|
||||
[Inject] private IToastService _toast { get; set; }
|
||||
private NgActivityListView _view { get; set; }
|
||||
private NgActivityListView _view { get; set; } = new();
|
||||
private Preferences _prefs { get; set; } = new();
|
||||
private string _workDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}";
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
_prefs = await UserPrefs.GetPreferences();
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(_prefs.WorkDate))
|
||||
_workDate = _prefs.WorkDate;
|
||||
|
||||
Interceptor.RegisterEvent();
|
||||
Interceptor.RegisterBeforeSendEvent();
|
||||
await FetchActivities(_workDate);
|
||||
|
||||
await GetActivities(_workDate);
|
||||
}
|
||||
|
||||
private async Task FetchActivities(string workDate)
|
||||
private async Task GetActivities(string workDate)
|
||||
{
|
||||
_toast.ShowInfo("Vent nogle sekunder for data");
|
||||
_workDate = workDate;
|
||||
|
|
|
@ -95,8 +95,9 @@ public class CompanyHttpRepository : ICompanyHttpRepository
|
|||
{
|
||||
var response = await _client.PostAsJsonAsync($"{_apiConfig.CustomerEndpoint}", model);
|
||||
var content = await response.Content.ReadAsStringAsync();
|
||||
Console.WriteLine(content);
|
||||
var result = JsonSerializer.Deserialize<CompanyDto>(content);
|
||||
return result.CompanyId;
|
||||
return result == null ? "" : result.CompanyId;
|
||||
}
|
||||
|
||||
public async Task<bool> UpdateCompany(string companyId, CompanyDto model)
|
||||
|
|
|
@ -34,8 +34,8 @@ public class ReportHttpRepository :IReportHttpRepository
|
|||
{
|
||||
var result =
|
||||
await _client
|
||||
.GetFromJsonAsync<NgActivityListView>($"{_apiConfig.ReportEndpoint}/exist/{workDate}");
|
||||
return result.ReportClosed || true;
|
||||
.GetFromJsonAsync<ReportClosedView>($"{_apiConfig.ReportEndpoint}/exist/{workDate}");
|
||||
return result.ReportClosed;
|
||||
}
|
||||
|
||||
public async Task<NgSalesReportView> GetReport(string workDate)
|
||||
|
|
|
@ -19,20 +19,23 @@
|
|||
@using Microsoft.AspNetCore.Authorization
|
||||
@attribute [Authorize(Roles = "Adviser")]
|
||||
@using Wonky.Client.Components
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="row mb-2 align-items-center">
|
||||
<div class="col">
|
||||
<h5 style="font-variant: small-caps">@_workDate.ToLongDateString()</h5>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="col">
|
||||
<WorkDateComponent OnChanged="SetWorkDate"></WorkDateComponent>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (_reportClosdd)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="row align-items-md-center">
|
||||
<div class="col">
|
||||
<h5>Der kan ikke oprettes aktiviteter for den valgte dato</h5>
|
||||
<h5>Rapport for @($"{_workDate:yyyy-MM-dd}") er fundet.</h5>
|
||||
</div>
|
||||
<div class="col">
|
||||
<a class="btn btn-info" href="/sales-report/view/@($"{_workDate:yyyy-MM-dd}")">Vis rapport</a>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
|
|
@ -83,7 +83,9 @@ public partial class ActivityCreate : IDisposable
|
|||
_workDate = DateTime.Parse(_prefs.WorkDate);
|
||||
|
||||
_poDraft.ActivityDate = $"{_workDate:yyyy-MM-dd}" ;
|
||||
|
||||
// check if report is closed
|
||||
|
||||
_reportClosdd = await _reportRepo.ReportExist(_poDraft.ActivityDate);
|
||||
|
||||
_paging.SearchColumn = _prefs.ItemSearch ?? "name";
|
||||
|
@ -94,6 +96,10 @@ public partial class ActivityCreate : IDisposable
|
|||
Ux = await _storage.GetItemAsync<UserInfoView>("_xu");
|
||||
NgCompany = await _companyRepo.GetCompanyById(CompanyId);
|
||||
|
||||
DraftContext = new EditContext(_poDraft);
|
||||
DraftContext.OnFieldChanged += HandleFieldChanged;
|
||||
DraftContext.OnValidationStateChanged += ValidationChanged;
|
||||
|
||||
// set up identification
|
||||
_poDraft.CompanyId = NgCompany.CompanyId;
|
||||
_poDraft.BcId = NgCompany.BcId;
|
||||
|
@ -122,15 +128,12 @@ public partial class ActivityCreate : IDisposable
|
|||
_poDraft.DlvZipCode = NgCompany.ZipCode;
|
||||
_poDraft.DlvCity = NgCompany.City;
|
||||
|
||||
DraftContext = new EditContext(_poDraft);
|
||||
DraftContext.OnFieldChanged += HandleFieldChanged;
|
||||
DraftContext.OnValidationStateChanged += ValidationChanged;
|
||||
|
||||
}
|
||||
|
||||
private void SetWorkDate(string workDate)
|
||||
{
|
||||
_logger.LogInformation("WorkDateComponent.OnChanged(SetWorkDate(workDate)) => {workDate}", workDate);
|
||||
_workDate = DateTime.Parse(workDate);
|
||||
_poDraft.ActivityDate = workDate;
|
||||
}
|
||||
|
||||
|
|
|
@ -187,12 +187,14 @@
|
|||
</div>
|
||||
<div class="card-footer">
|
||||
<div class="row">
|
||||
@*
|
||||
<div class="col">
|
||||
<button type="button" class="btn btn-warning">Fjern</button>
|
||||
</div>
|
||||
<div class="col">
|
||||
<button type="button" class="btn btn-danger">Slet</button>
|
||||
</div>
|
||||
*@
|
||||
<div class="col">
|
||||
<button type="submit" class="btn btn-success">Gem</button>
|
||||
</div>
|
||||
|
|
|
@ -35,7 +35,7 @@ namespace Wonky.Client.Pages;
|
|||
public partial class CompanyEdit : IDisposable
|
||||
{
|
||||
[Inject] public IToastService ToastService { get; set; }
|
||||
[Inject] public ILogger<CompanyCreate> Logger { get; set; }
|
||||
[Inject] public ILogger<CreateCompany> Logger { get; set; }
|
||||
[Inject] public NavigationManager Navigation { get; set; }
|
||||
[Inject] public ICompanyHttpRepository CompanyRepo { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
|
|
|
@ -71,15 +71,9 @@
|
|||
<div class="d-flex align-items-end">
|
||||
<a class="btn btn-primary mx-2" href="/companies">Tilbage</a>
|
||||
<a class="btn btn-primary mx-2" href="/company/@(_companyDto.CompanyId)/update">Rediger</a>
|
||||
@if (_vatInvalid || string.IsNullOrWhiteSpace(_companyDto.Address1))
|
||||
@if (!_vatInvalid && !string.IsNullOrWhiteSpace(_companyDto.Address1))
|
||||
{
|
||||
<a type="button" class="btn btn-primary mx-2 disabled" aria-disabled="true">Kanvas/Nulsalg</a>
|
||||
<a type="button" class="btn btn-primary mx-2 disabled" aria-disabled="true">Besøg</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a type="button" class="btn btn-primary mx-2 disabled" aria-disabled="true">Kanvas/Nulsalg</a>
|
||||
<a type="button" class="btn btn-primary mx-2" href="/company/@_companyDto.CompanyId/activity">Aktivittet</a>
|
||||
<a type="button" class="btn btn-primary mx-2" href="/company/@_companyDto.CompanyId/activity">Opret aktivitet</a>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
</td>
|
||||
}
|
||||
</tr>
|
||||
@if (_vInfos.Any())
|
||||
@if (_vInfos.Any() && _showInfos)
|
||||
{
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
@ -80,9 +80,9 @@
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<EditForm EditContext="_createCompany" OnValidSubmit="Create">
|
||||
<EditForm EditContext="_editContext" OnValidSubmit="SubmitCompanyForm">
|
||||
<DataAnnotationsValidator />
|
||||
<InputText type="hidden" id="salesRepId" @bind-Value="_createDto.SalesRepId"/>
|
||||
<InputText type="hidden" id="salesRepId" @bind-Value="_companyObject.SalesRepId"/>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
|
@ -104,11 +104,10 @@
|
|||
</td>
|
||||
<td>
|
||||
<InputDate id="nextVisit" class="form-control" @bind-Value="@(_nextVisit)"/>
|
||||
<ValidationMessage For="@(() => _createDto.NextVisit)"></ValidationMessage>
|
||||
</td>
|
||||
<td>
|
||||
<InputNumber id="interval" class="form-control" @bind-Value="_createDto.Interval"/>
|
||||
<ValidationMessage For="@(() => _createDto.Interval)"></ValidationMessage>
|
||||
<InputNumber id="interval" class="form-control" @bind-Value="_companyObject.Interval"/>
|
||||
<ValidationMessage For="@(() => _companyObject.Interval)"></ValidationMessage>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
@ -126,58 +125,65 @@
|
|||
<td class="align-middle">Moms/Org Reg.</td>
|
||||
<td class="align-middle state"><DisplayStateComponent StateClass="@RegState"></DisplayStateComponent></td>
|
||||
<td class="align-middle">
|
||||
<InputText id="vatNumber" class="form-control" @bind-Value="_createDto.VatNumber"/>
|
||||
<InputText id="vatNumber" class="form-control" @bind-Value="_companyObject.VatNumber"/>
|
||||
<ValidationMessage For="@(() => _companyObject.VatNumber)"></ValidationMessage>
|
||||
</td>
|
||||
<td class="align-middle">Telefon</td>
|
||||
<td class="align-middle">
|
||||
<InputText id="phone" class="form-control" @bind-Value="_createDto.Phone"/>
|
||||
<InputText id="phone" class="form-control" @bind-Value="_companyObject.Phone"/>
|
||||
<ValidationMessage For="@(() => _companyObject.Phone)"></ValidationMessage>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="align-middle">Firmanavn</td>
|
||||
<td class="align-middle"></td>
|
||||
<td>
|
||||
<InputText id="name" class="form-control" @bind-Value="_createDto.Name"/>
|
||||
<ValidationMessage For="@(() => _createDto.Name)"></ValidationMessage>
|
||||
<InputText id="name" class="form-control" @bind-Value="_companyObject.Name"/>
|
||||
<ValidationMessage For="@(() => _companyObject.Name)"></ValidationMessage>
|
||||
</td>
|
||||
<td class="align-middle">Attention</td>
|
||||
<td>
|
||||
<InputText id="attention" class="form-control" @bind-Value="_createDto.Attention"/>
|
||||
<InputText id="attention" class="form-control" @bind-Value="_companyObject.Attention"/>
|
||||
<ValidationMessage For="@(() => _companyObject.Attention)"></ValidationMessage>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="align-middle">Adresse</td>
|
||||
<td class="align-middle">Adresse1</td>
|
||||
<td class="align-middle"></td>
|
||||
<td class="align-middle">
|
||||
<InputText id="address1" class="form-control" @bind-Value="_createDto.Address1"/>
|
||||
<InputText id="address1" class="form-control" @bind-Value="_companyObject.Address1"/>
|
||||
<ValidationMessage For="@(() => _companyObject.Address1)"></ValidationMessage>
|
||||
</td>
|
||||
<td class="align-middle">Adresse</td>
|
||||
<td class="align-middle">Adresse2</td>
|
||||
<td class="align-middle">
|
||||
<InputText id="address2" class="form-control" @bind-Value="_createDto.Address2"/>
|
||||
<InputText id="address2" class="form-control" @bind-Value="_companyObject.Address2"/>
|
||||
<ValidationMessage For="@(() => _companyObject.Address2)"></ValidationMessage>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="align-middle">Postnr</td>
|
||||
<td class="align-middle"></td>
|
||||
<td class="align-middle">
|
||||
<InputText id="zipCode" class="form-control" @bind-Value="_createDto.ZipCode"/>
|
||||
<ValidationMessage For="@(() => _createDto.ZipCode)"></ValidationMessage>
|
||||
<InputText id="zipCode" class="form-control" @bind-Value="_companyObject.ZipCode"/>
|
||||
<ValidationMessage For="@(() => _companyObject.ZipCode)"></ValidationMessage>
|
||||
</td>
|
||||
<td class="align-middle">Bynavn</td>
|
||||
<td class="align-middle">
|
||||
<InputText id="city" class="form-control" @bind-Value="_createDto.City"/>
|
||||
<ValidationMessage For="@(() => _createDto.City)"></ValidationMessage>
|
||||
<InputText id="city" class="form-control" @bind-Value="_companyObject.City"/>
|
||||
<ValidationMessage For="@(() => _companyObject.City)"></ValidationMessage>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="align-middle">Mobil</td>
|
||||
<td class="align-middle"></td>
|
||||
<td class="align-middle">
|
||||
<InputText id="mobile" class="form-control" @bind-Value="_createDto.Mobile"/>
|
||||
<InputText id="mobile" class="form-control" @bind-Value="_companyObject.Mobile"/>
|
||||
<ValidationMessage For="@(() => _companyObject.Mobile)"></ValidationMessage>
|
||||
</td>
|
||||
<td class="align-middle">Email</td>
|
||||
<td class="align-middle">
|
||||
<InputText id="email" class="form-control" @bind-Value="_createDto.Email"/>
|
||||
<InputText id="email" class="form-control" @bind-Value="_companyObject.Email"/>
|
||||
<ValidationMessage For="@(() => _companyObject.Email)"></ValidationMessage>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
|
@ -35,47 +35,54 @@ using Wonky.Entity.Views;
|
|||
|
||||
namespace Wonky.Client.Pages
|
||||
{
|
||||
public partial class CompanyCreate : IDisposable
|
||||
public partial class CreateCompany : IDisposable
|
||||
{
|
||||
[Inject] public IToastService ToastService { get; set; }
|
||||
[Inject] public ILogger<CompanyCreate> Logger { get; set; }
|
||||
[Inject] public ILogger<CreateCompany> Logger { get; set; }
|
||||
[Inject] public ILocalStorageService StorageService { get; set; }
|
||||
[Inject] public NavigationManager Navigation { get; set; }
|
||||
[Inject] public ICompanyHttpRepository CompanyRepo { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public VatInfoLookupService VatInfoLookupService { get; set; }
|
||||
private EditContext _editContext { get; set; }
|
||||
private CompanyDto _companyObject { get; set; } = new();
|
||||
private VirkRegInfo _virkRegInfo { get; set; } = new();
|
||||
private List<VirkRegInfo> _vInfos { get; set; } = new();
|
||||
private CompanyDto _createDto = new();
|
||||
private VirkRegInfo _virkRegInfo = new();
|
||||
private EditContext _createCompany;
|
||||
private VatAddress _vatAddress { get; set; } = new();
|
||||
private bool _formInvalid = true;
|
||||
private VatAddress _vatAddress = new();
|
||||
private string RegState = "";
|
||||
private DateTime _lastVisit { get; set; }
|
||||
private DateTime _nextVisit { get; set; }
|
||||
private bool _dk = false;
|
||||
private bool _showInfos = true;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
Interceptor.RegisterEvent();
|
||||
Interceptor.RegisterBeforeSendEvent();
|
||||
_editContext = new EditContext(_companyObject);
|
||||
|
||||
_editContext.OnFieldChanged += HandleFieldChanged;
|
||||
_editContext.OnValidationStateChanged += ValidationChanged;
|
||||
|
||||
var ux = await StorageService.GetItemAsync<UserInfoView>("_xu");
|
||||
_dk = ux.CountryCode.ToLower() == "dk";
|
||||
_createDto.SalesRepId = ux.Id;
|
||||
_createDto.CountryCode = ux.CountryCode.ToLower();
|
||||
|
||||
_companyObject.SalesRepId = ux.Id;
|
||||
_companyObject.CountryCode = ux.CountryCode.ToLower();
|
||||
|
||||
_lastVisit = DateTime.Now;
|
||||
_nextVisit = DateTime.Now.AddDays(_createDto.Interval * 7);
|
||||
_createDto.LastVisit = $"{_lastVisit:yyyy-MM-dd}";
|
||||
_createDto.LastVisit = $"{_nextVisit:yyyy-MM-dd}";
|
||||
_createCompany = new EditContext(_createDto);
|
||||
_createCompany.OnFieldChanged += HandleFieldChanged;
|
||||
_createCompany.OnValidationStateChanged += ValidationChanged;
|
||||
_nextVisit = DateTime.Now.AddDays(_companyObject.Interval * 7);
|
||||
|
||||
_companyObject.LastVisit = $"{_lastVisit:yyyy-MM-dd}";
|
||||
_companyObject.LastVisit = $"{_nextVisit:yyyy-MM-dd}";
|
||||
|
||||
Interceptor.RegisterEvent();
|
||||
Interceptor.RegisterBeforeSendEvent();
|
||||
|
||||
}
|
||||
|
||||
private async Task GetInfoFromAddress(VatAddress address)
|
||||
{
|
||||
_showInfos = true;
|
||||
ToastService.ShowInfo("Vent for adresse info ...");
|
||||
_vInfos = await VatInfoLookupService.QueryVirkRegistry(
|
||||
new VirkParams
|
||||
|
@ -91,6 +98,7 @@ namespace Wonky.Client.Pages
|
|||
}
|
||||
private async Task GetInfoFromVat(string vatNumber)
|
||||
{
|
||||
_showInfos = true;
|
||||
ToastService.ShowInfo("Vent for firma info ...");
|
||||
_vInfos = await VatInfoLookupService
|
||||
.QueryVirkRegistry(new VirkParams {VatNumber = vatNumber});
|
||||
|
@ -101,39 +109,45 @@ namespace Wonky.Client.Pages
|
|||
}
|
||||
private void SelectCompany(string vatNumber)
|
||||
{
|
||||
_showInfos = false;
|
||||
_virkRegInfo = (from x in _vInfos where x.VatNumber == vatNumber select x).First();
|
||||
RegState = _virkRegInfo.States[^1].State == "NORMAL" ? "the-good" : "the-ugly";
|
||||
_createDto.Name = _virkRegInfo.Name;
|
||||
_createDto.Address1 = _virkRegInfo.Address;
|
||||
_createDto.Address2 = _virkRegInfo.CoName;
|
||||
_createDto.ZipCode = _virkRegInfo.ZipCode;
|
||||
_createDto.City = _virkRegInfo.City;
|
||||
_createDto.VatNumber = _virkRegInfo.VatNumber;
|
||||
_createDto.ValidVat = 1;
|
||||
_companyObject.Name = _virkRegInfo.Name;
|
||||
_companyObject.Address1 = _virkRegInfo.Address;
|
||||
_companyObject.Address2 = _virkRegInfo.CoName;
|
||||
_companyObject.ZipCode = _virkRegInfo.ZipCode;
|
||||
_companyObject.City = _virkRegInfo.City;
|
||||
_companyObject.VatNumber = _virkRegInfo.VatNumber;
|
||||
_companyObject.ValidVat = 1;
|
||||
StateHasChanged();
|
||||
}
|
||||
private async Task Create()
|
||||
private async Task SubmitCompanyForm()
|
||||
{
|
||||
var newId = await CompanyRepo.CreateCompany(_createDto);
|
||||
var newId = await CompanyRepo.CreateCompany(_companyObject);
|
||||
if (!string.IsNullOrWhiteSpace(newId))
|
||||
{
|
||||
ToastService.ShowSuccess($"'{_createDto.Name}' er oprettet i CRM.");
|
||||
ToastService.ShowSuccess($"'{_companyObject.Name}' er oprettet i CRM.");
|
||||
Navigation.NavigateTo($"/company/id/{newId}");
|
||||
}
|
||||
else
|
||||
{
|
||||
ToastService.ShowWarning($"'{_companyObject.Name}' IKKE oprettet.");
|
||||
}
|
||||
}
|
||||
|
||||
private void HandleFieldChanged(object sender, FieldChangedEventArgs e)
|
||||
{
|
||||
_createDto.LastVisit = $"{_lastVisit:yyyy-MM-dd}";
|
||||
_createDto.NextVisit = $"{_nextVisit:yyyy-MM-dd}";
|
||||
_companyObject.LastVisit = $"{_lastVisit:yyyy-MM-dd}";
|
||||
_companyObject.NextVisit = $"{_nextVisit:yyyy-MM-dd}";
|
||||
|
||||
if (!VatUtils.ValidateFormat(_createDto.CountryCode, _createDto.VatNumber)
|
||||
|| !_createDto.ValidDateSpan())
|
||||
if (!VatUtils.ValidateFormat(_companyObject.CountryCode, _companyObject.VatNumber)
|
||||
|| !_companyObject.ValidDateSpan())
|
||||
{
|
||||
_formInvalid = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
_formInvalid = !_createCompany.Validate();
|
||||
_formInvalid = !_editContext.Validate();
|
||||
}
|
||||
StateHasChanged();
|
||||
}
|
||||
|
@ -141,19 +155,21 @@ namespace Wonky.Client.Pages
|
|||
{
|
||||
_formInvalid = true;
|
||||
|
||||
_createCompany.OnFieldChanged -= HandleFieldChanged;
|
||||
_editContext.OnFieldChanged -= HandleFieldChanged;
|
||||
|
||||
_createCompany = new EditContext(_createDto);
|
||||
_editContext = new EditContext(_companyObject);
|
||||
|
||||
_createCompany.OnFieldChanged += HandleFieldChanged;
|
||||
_createCompany.OnValidationStateChanged -= ValidationChanged;
|
||||
_formInvalid = !_editContext.Validate();
|
||||
|
||||
_editContext.OnFieldChanged += HandleFieldChanged;
|
||||
_editContext.OnValidationStateChanged -= ValidationChanged;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Interceptor.DisposeEvent();
|
||||
_createCompany.OnFieldChanged -= HandleFieldChanged;
|
||||
_createCompany.OnValidationStateChanged -= ValidationChanged;
|
||||
_editContext.OnFieldChanged -= HandleFieldChanged;
|
||||
_editContext.OnValidationStateChanged -= ValidationChanged;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -20,7 +20,9 @@
|
|||
@page "/home"
|
||||
@using Wonky.Client.Components;
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
|
||||
@attribute [Authorize(Roles = "Adviser,Admin,Supervisor")]
|
||||
|
||||
<Home></Home>
|
||||
|
||||
@code{
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<WorkDateComponent OnChanged="GetReport"></WorkDateComponent>
|
||||
|
||||
<div>
|
||||
@if (_report.Activities != null)
|
||||
@if (_report.Activities.Any())
|
||||
{
|
||||
<table class="table">
|
||||
<thead>
|
||||
|
|
|
@ -9,12 +9,14 @@ public partial class ReportView
|
|||
{
|
||||
[Inject] private IReportHttpRepository ReportRepo { get; set; }
|
||||
[Parameter] public string ReportDate { get; set; }
|
||||
private NgSalesReportView _report { get; set; }
|
||||
private NgSalesReportView _report { get; set; } = new();
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(ReportDate))
|
||||
await GetReport(ReportDate);
|
||||
if (!string.IsNullOrWhiteSpace(ReportDate))
|
||||
{
|
||||
await GetReport(ReportDate);
|
||||
}
|
||||
}
|
||||
|
||||
private async Task GetReport(string workDate)
|
||||
|
|
|
@ -54,6 +54,54 @@
|
|||
<_ContentIncludedByDefault Remove="Components\SalesItemSort.razor" />
|
||||
<_ContentIncludedByDefault Remove="Components\SalesItemTable.razor" />
|
||||
<_ContentIncludedByDefault Remove="Components\SearchPhrase.razor" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-grid.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-grid.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-grid.min.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-grid.min.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-grid.rtl.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-grid.rtl.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-grid.rtl.min.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-grid.rtl.min.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-reboot.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-reboot.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-reboot.min.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-reboot.min.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-reboot.rtl.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-reboot.rtl.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-reboot.rtl.min.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-reboot.rtl.min.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-utilities.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-utilities.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-utilities.min.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-utilities.min.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-utilities.rtl.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-utilities.rtl.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-utilities.rtl.min.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap-utilities.rtl.min.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap.min.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap.min.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap.rtl.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap.rtl.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap.rtl.min.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\css\bootstrap.rtl.min.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\js\bootstrap.bundle.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\js\bootstrap.bundle.js.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\js\bootstrap.bundle.min.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\js\bootstrap.bundle.min.js.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\js\bootstrap.esm.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\js\bootstrap.esm.js.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\js\bootstrap.esm.min.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\js\bootstrap.esm.min.js.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\js\bootstrap.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\js\bootstrap.js.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\js\bootstrap.min.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\bootstrap\js\bootstrap.min.js.map" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="wwwroot\scripts" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
||||
//
|
||||
*@@using System.Net.Http
|
||||
*@
|
||||
@using System.Net.Http
|
||||
@using System.Net.Http.Json
|
||||
@using Microsoft.AspNetCore.Components.Forms
|
||||
@using Microsoft.AspNetCore.Components.Routing
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
},
|
||||
"appInfo": {
|
||||
"name": "Wonky Client",
|
||||
"version": "0.8.5",
|
||||
"version": "0.8.6",
|
||||
"isBeta": true,
|
||||
"image": "grumpy-coder.png"
|
||||
},
|
||||
|
|
5069
Wonky.Client/wwwroot/bootstrap/css/bootstrap-grid.css
vendored
Normal file
5069
Wonky.Client/wwwroot/bootstrap/css/bootstrap-grid.css
vendored
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
7
Wonky.Client/wwwroot/bootstrap/css/bootstrap-grid.min.css
vendored
Normal file
7
Wonky.Client/wwwroot/bootstrap/css/bootstrap-grid.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
5068
Wonky.Client/wwwroot/bootstrap/css/bootstrap-grid.rtl.css
vendored
Normal file
5068
Wonky.Client/wwwroot/bootstrap/css/bootstrap-grid.rtl.css
vendored
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
7
Wonky.Client/wwwroot/bootstrap/css/bootstrap-grid.rtl.min.css
vendored
Normal file
7
Wonky.Client/wwwroot/bootstrap/css/bootstrap-grid.rtl.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
491
Wonky.Client/wwwroot/bootstrap/css/bootstrap-reboot.css
vendored
Normal file
491
Wonky.Client/wwwroot/bootstrap/css/bootstrap-reboot.css
vendored
Normal file
|
@ -0,0 +1,491 @@
|
|||
/*!
|
||||
* Bootstrap Reboot v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors
|
||||
* Copyright 2011-2022 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/
|
||||
:root {
|
||||
--bs-blue: #0d6efd;
|
||||
--bs-indigo: #6610f2;
|
||||
--bs-purple: #6f42c1;
|
||||
--bs-pink: #d63384;
|
||||
--bs-red: #dc3545;
|
||||
--bs-orange: #fd7e14;
|
||||
--bs-yellow: #ffc107;
|
||||
--bs-green: #198754;
|
||||
--bs-teal: #20c997;
|
||||
--bs-cyan: #0dcaf0;
|
||||
--bs-black: #000;
|
||||
--bs-white: #fff;
|
||||
--bs-gray: #6c757d;
|
||||
--bs-gray-dark: #343a40;
|
||||
--bs-gray-100: #f8f9fa;
|
||||
--bs-gray-200: #e9ecef;
|
||||
--bs-gray-300: #dee2e6;
|
||||
--bs-gray-400: #ced4da;
|
||||
--bs-gray-500: #adb5bd;
|
||||
--bs-gray-600: #6c757d;
|
||||
--bs-gray-700: #495057;
|
||||
--bs-gray-800: #343a40;
|
||||
--bs-gray-900: #212529;
|
||||
--bs-primary: #0d6efd;
|
||||
--bs-secondary: #6c757d;
|
||||
--bs-success: #198754;
|
||||
--bs-info: #0dcaf0;
|
||||
--bs-warning: #ffc107;
|
||||
--bs-danger: #dc3545;
|
||||
--bs-light: #f8f9fa;
|
||||
--bs-dark: #212529;
|
||||
--bs-primary-rgb: 13, 110, 253;
|
||||
--bs-secondary-rgb: 108, 117, 125;
|
||||
--bs-success-rgb: 25, 135, 84;
|
||||
--bs-info-rgb: 13, 202, 240;
|
||||
--bs-warning-rgb: 255, 193, 7;
|
||||
--bs-danger-rgb: 220, 53, 69;
|
||||
--bs-light-rgb: 248, 249, 250;
|
||||
--bs-dark-rgb: 33, 37, 41;
|
||||
--bs-white-rgb: 255, 255, 255;
|
||||
--bs-black-rgb: 0, 0, 0;
|
||||
--bs-body-color-rgb: 33, 37, 41;
|
||||
--bs-body-bg-rgb: 255, 255, 255;
|
||||
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
|
||||
--bs-body-font-family: var(--bs-font-sans-serif);
|
||||
--bs-body-font-size: 1rem;
|
||||
--bs-body-font-weight: 400;
|
||||
--bs-body-line-height: 1.5;
|
||||
--bs-body-color: #212529;
|
||||
--bs-body-bg: #fff;
|
||||
--bs-border-width: 1px;
|
||||
--bs-border-style: solid;
|
||||
--bs-border-color: #dee2e6;
|
||||
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
|
||||
--bs-border-radius: 0.375rem;
|
||||
--bs-border-radius-sm: 0.25rem;
|
||||
--bs-border-radius-lg: 0.5rem;
|
||||
--bs-border-radius-xl: 1rem;
|
||||
--bs-border-radius-2xl: 2rem;
|
||||
--bs-border-radius-pill: 50rem;
|
||||
--bs-heading-color: ;
|
||||
--bs-link-color: #0d6efd;
|
||||
--bs-link-hover-color: #0a58ca;
|
||||
--bs-code-color: #d63384;
|
||||
--bs-highlight-bg: #fff3cd;
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
:root {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: var(--bs-body-font-family);
|
||||
font-size: var(--bs-body-font-size);
|
||||
font-weight: var(--bs-body-font-weight);
|
||||
line-height: var(--bs-body-line-height);
|
||||
color: var(--bs-body-color);
|
||||
text-align: var(--bs-body-text-align);
|
||||
background-color: var(--bs-body-bg);
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
hr {
|
||||
margin: 1rem 0;
|
||||
color: inherit;
|
||||
border: 0;
|
||||
border-top: 1px solid;
|
||||
opacity: 0.25;
|
||||
}
|
||||
|
||||
h6, h5, h4, h3, h2, h1 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
color: var(--bs-heading-color);
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: calc(1.375rem + 1.5vw);
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
h1 {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: calc(1.325rem + 0.9vw);
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
h2 {
|
||||
font-size: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: calc(1.3rem + 0.6vw);
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
h3 {
|
||||
font-size: 1.75rem;
|
||||
}
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: calc(1.275rem + 0.3vw);
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
h4 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
abbr[title] {
|
||||
-webkit-text-decoration: underline dotted;
|
||||
text-decoration: underline dotted;
|
||||
cursor: help;
|
||||
-webkit-text-decoration-skip-ink: none;
|
||||
text-decoration-skip-ink: none;
|
||||
}
|
||||
|
||||
address {
|
||||
margin-bottom: 1rem;
|
||||
font-style: normal;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul {
|
||||
padding-left: 2rem;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul,
|
||||
dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
ol ol,
|
||||
ul ul,
|
||||
ol ul,
|
||||
ul ol {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: 0.5rem;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 0.875em;
|
||||
}
|
||||
|
||||
mark {
|
||||
padding: 0.1875em;
|
||||
background-color: var(--bs-highlight-bg);
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
position: relative;
|
||||
font-size: 0.75em;
|
||||
line-height: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--bs-link-color);
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:hover {
|
||||
color: var(--bs-link-hover-color);
|
||||
}
|
||||
|
||||
a:not([href]):not([class]), a:not([href]):not([class]):hover {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: var(--bs-font-monospace);
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
overflow: auto;
|
||||
font-size: 0.875em;
|
||||
}
|
||||
pre code {
|
||||
font-size: inherit;
|
||||
color: inherit;
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
code {
|
||||
font-size: 0.875em;
|
||||
color: var(--bs-code-color);
|
||||
word-wrap: break-word;
|
||||
}
|
||||
a > code {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
kbd {
|
||||
padding: 0.1875rem 0.375rem;
|
||||
font-size: 0.875em;
|
||||
color: var(--bs-body-bg);
|
||||
background-color: var(--bs-body-color);
|
||||
border-radius: 0.25rem;
|
||||
}
|
||||
kbd kbd {
|
||||
padding: 0;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
img,
|
||||
svg {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
table {
|
||||
caption-side: bottom;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
caption {
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
color: rgba(var(--bs-body-color-rgb), 0.75);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: inherit;
|
||||
text-align: -webkit-match-parent;
|
||||
}
|
||||
|
||||
thead,
|
||||
tbody,
|
||||
tfoot,
|
||||
tr,
|
||||
td,
|
||||
th {
|
||||
border-color: inherit;
|
||||
border-style: solid;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
button:focus:not(:focus-visible) {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
select,
|
||||
optgroup,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
[role=button] {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
select {
|
||||
word-wrap: normal;
|
||||
}
|
||||
select:disabled {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
button,
|
||||
[type=button],
|
||||
[type=reset],
|
||||
[type=submit] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
button:not(:disabled),
|
||||
[type=button]:not(:disabled),
|
||||
[type=reset]:not(:disabled),
|
||||
[type=submit]:not(:disabled) {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
min-width: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
legend {
|
||||
float: left;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
font-size: calc(1.275rem + 0.3vw);
|
||||
line-height: inherit;
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
legend {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
}
|
||||
legend + * {
|
||||
clear: left;
|
||||
}
|
||||
|
||||
::-webkit-datetime-edit-fields-wrapper,
|
||||
::-webkit-datetime-edit-text,
|
||||
::-webkit-datetime-edit-minute,
|
||||
::-webkit-datetime-edit-hour-field,
|
||||
::-webkit-datetime-edit-day-field,
|
||||
::-webkit-datetime-edit-month-field,
|
||||
::-webkit-datetime-edit-year-field {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
::-webkit-inner-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[type=search] {
|
||||
outline-offset: -2px;
|
||||
-webkit-appearance: textfield;
|
||||
}
|
||||
|
||||
/* rtl:raw:
|
||||
[type="tel"],
|
||||
[type="url"],
|
||||
[type="email"],
|
||||
[type="number"] {
|
||||
direction: ltr;
|
||||
}
|
||||
*/
|
||||
::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
::-webkit-color-swatch-wrapper {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
font: inherit;
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
::file-selector-button {
|
||||
font: inherit;
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
output {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
iframe {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=bootstrap-reboot.css.map */
|
File diff suppressed because one or more lines are too long
8
Wonky.Client/wwwroot/bootstrap/css/bootstrap-reboot.min.css
vendored
Normal file
8
Wonky.Client/wwwroot/bootstrap/css/bootstrap-reboot.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
488
Wonky.Client/wwwroot/bootstrap/css/bootstrap-reboot.rtl.css
vendored
Normal file
488
Wonky.Client/wwwroot/bootstrap/css/bootstrap-reboot.rtl.css
vendored
Normal file
|
@ -0,0 +1,488 @@
|
|||
/*!
|
||||
* Bootstrap Reboot v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors
|
||||
* Copyright 2011-2022 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/
|
||||
:root {
|
||||
--bs-blue: #0d6efd;
|
||||
--bs-indigo: #6610f2;
|
||||
--bs-purple: #6f42c1;
|
||||
--bs-pink: #d63384;
|
||||
--bs-red: #dc3545;
|
||||
--bs-orange: #fd7e14;
|
||||
--bs-yellow: #ffc107;
|
||||
--bs-green: #198754;
|
||||
--bs-teal: #20c997;
|
||||
--bs-cyan: #0dcaf0;
|
||||
--bs-black: #000;
|
||||
--bs-white: #fff;
|
||||
--bs-gray: #6c757d;
|
||||
--bs-gray-dark: #343a40;
|
||||
--bs-gray-100: #f8f9fa;
|
||||
--bs-gray-200: #e9ecef;
|
||||
--bs-gray-300: #dee2e6;
|
||||
--bs-gray-400: #ced4da;
|
||||
--bs-gray-500: #adb5bd;
|
||||
--bs-gray-600: #6c757d;
|
||||
--bs-gray-700: #495057;
|
||||
--bs-gray-800: #343a40;
|
||||
--bs-gray-900: #212529;
|
||||
--bs-primary: #0d6efd;
|
||||
--bs-secondary: #6c757d;
|
||||
--bs-success: #198754;
|
||||
--bs-info: #0dcaf0;
|
||||
--bs-warning: #ffc107;
|
||||
--bs-danger: #dc3545;
|
||||
--bs-light: #f8f9fa;
|
||||
--bs-dark: #212529;
|
||||
--bs-primary-rgb: 13, 110, 253;
|
||||
--bs-secondary-rgb: 108, 117, 125;
|
||||
--bs-success-rgb: 25, 135, 84;
|
||||
--bs-info-rgb: 13, 202, 240;
|
||||
--bs-warning-rgb: 255, 193, 7;
|
||||
--bs-danger-rgb: 220, 53, 69;
|
||||
--bs-light-rgb: 248, 249, 250;
|
||||
--bs-dark-rgb: 33, 37, 41;
|
||||
--bs-white-rgb: 255, 255, 255;
|
||||
--bs-black-rgb: 0, 0, 0;
|
||||
--bs-body-color-rgb: 33, 37, 41;
|
||||
--bs-body-bg-rgb: 255, 255, 255;
|
||||
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
|
||||
--bs-body-font-family: var(--bs-font-sans-serif);
|
||||
--bs-body-font-size: 1rem;
|
||||
--bs-body-font-weight: 400;
|
||||
--bs-body-line-height: 1.5;
|
||||
--bs-body-color: #212529;
|
||||
--bs-body-bg: #fff;
|
||||
--bs-border-width: 1px;
|
||||
--bs-border-style: solid;
|
||||
--bs-border-color: #dee2e6;
|
||||
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
|
||||
--bs-border-radius: 0.375rem;
|
||||
--bs-border-radius-sm: 0.25rem;
|
||||
--bs-border-radius-lg: 0.5rem;
|
||||
--bs-border-radius-xl: 1rem;
|
||||
--bs-border-radius-2xl: 2rem;
|
||||
--bs-border-radius-pill: 50rem;
|
||||
--bs-heading-color: ;
|
||||
--bs-link-color: #0d6efd;
|
||||
--bs-link-hover-color: #0a58ca;
|
||||
--bs-code-color: #d63384;
|
||||
--bs-highlight-bg: #fff3cd;
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
:root {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: var(--bs-body-font-family);
|
||||
font-size: var(--bs-body-font-size);
|
||||
font-weight: var(--bs-body-font-weight);
|
||||
line-height: var(--bs-body-line-height);
|
||||
color: var(--bs-body-color);
|
||||
text-align: var(--bs-body-text-align);
|
||||
background-color: var(--bs-body-bg);
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
hr {
|
||||
margin: 1rem 0;
|
||||
color: inherit;
|
||||
border: 0;
|
||||
border-top: 1px solid;
|
||||
opacity: 0.25;
|
||||
}
|
||||
|
||||
h6, h5, h4, h3, h2, h1 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
color: var(--bs-heading-color);
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: calc(1.375rem + 1.5vw);
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
h1 {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: calc(1.325rem + 0.9vw);
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
h2 {
|
||||
font-size: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: calc(1.3rem + 0.6vw);
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
h3 {
|
||||
font-size: 1.75rem;
|
||||
}
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: calc(1.275rem + 0.3vw);
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
h4 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
abbr[title] {
|
||||
-webkit-text-decoration: underline dotted;
|
||||
text-decoration: underline dotted;
|
||||
cursor: help;
|
||||
-webkit-text-decoration-skip-ink: none;
|
||||
text-decoration-skip-ink: none;
|
||||
}
|
||||
|
||||
address {
|
||||
margin-bottom: 1rem;
|
||||
font-style: normal;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul {
|
||||
padding-right: 2rem;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul,
|
||||
dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
ol ol,
|
||||
ul ul,
|
||||
ol ul,
|
||||
ul ol {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: 0.5rem;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 0.875em;
|
||||
}
|
||||
|
||||
mark {
|
||||
padding: 0.1875em;
|
||||
background-color: var(--bs-highlight-bg);
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
position: relative;
|
||||
font-size: 0.75em;
|
||||
line-height: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--bs-link-color);
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:hover {
|
||||
color: var(--bs-link-hover-color);
|
||||
}
|
||||
|
||||
a:not([href]):not([class]), a:not([href]):not([class]):hover {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: var(--bs-font-monospace);
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
overflow: auto;
|
||||
font-size: 0.875em;
|
||||
}
|
||||
pre code {
|
||||
font-size: inherit;
|
||||
color: inherit;
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
code {
|
||||
font-size: 0.875em;
|
||||
color: var(--bs-code-color);
|
||||
word-wrap: break-word;
|
||||
}
|
||||
a > code {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
kbd {
|
||||
padding: 0.1875rem 0.375rem;
|
||||
font-size: 0.875em;
|
||||
color: var(--bs-body-bg);
|
||||
background-color: var(--bs-body-color);
|
||||
border-radius: 0.25rem;
|
||||
}
|
||||
kbd kbd {
|
||||
padding: 0;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
img,
|
||||
svg {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
table {
|
||||
caption-side: bottom;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
caption {
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
color: rgba(var(--bs-body-color-rgb), 0.75);
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: inherit;
|
||||
text-align: -webkit-match-parent;
|
||||
}
|
||||
|
||||
thead,
|
||||
tbody,
|
||||
tfoot,
|
||||
tr,
|
||||
td,
|
||||
th {
|
||||
border-color: inherit;
|
||||
border-style: solid;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
button:focus:not(:focus-visible) {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
select,
|
||||
optgroup,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
[role=button] {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
select {
|
||||
word-wrap: normal;
|
||||
}
|
||||
select:disabled {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
button,
|
||||
[type=button],
|
||||
[type=reset],
|
||||
[type=submit] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
button:not(:disabled),
|
||||
[type=button]:not(:disabled),
|
||||
[type=reset]:not(:disabled),
|
||||
[type=submit]:not(:disabled) {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
min-width: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
legend {
|
||||
float: right;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
font-size: calc(1.275rem + 0.3vw);
|
||||
line-height: inherit;
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
legend {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
}
|
||||
legend + * {
|
||||
clear: right;
|
||||
}
|
||||
|
||||
::-webkit-datetime-edit-fields-wrapper,
|
||||
::-webkit-datetime-edit-text,
|
||||
::-webkit-datetime-edit-minute,
|
||||
::-webkit-datetime-edit-hour-field,
|
||||
::-webkit-datetime-edit-day-field,
|
||||
::-webkit-datetime-edit-month-field,
|
||||
::-webkit-datetime-edit-year-field {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
::-webkit-inner-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[type=search] {
|
||||
outline-offset: -2px;
|
||||
-webkit-appearance: textfield;
|
||||
}
|
||||
|
||||
[type="tel"],
|
||||
[type="url"],
|
||||
[type="email"],
|
||||
[type="number"] {
|
||||
direction: ltr;
|
||||
}
|
||||
::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
::-webkit-color-swatch-wrapper {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
font: inherit;
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
::file-selector-button {
|
||||
font: inherit;
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
output {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
iframe {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-reboot.rtl.css.map */
|
File diff suppressed because one or more lines are too long
8
Wonky.Client/wwwroot/bootstrap/css/bootstrap-reboot.rtl.min.css
vendored
Normal file
8
Wonky.Client/wwwroot/bootstrap/css/bootstrap-reboot.rtl.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4989
Wonky.Client/wwwroot/bootstrap/css/bootstrap-utilities.css
vendored
Normal file
4989
Wonky.Client/wwwroot/bootstrap/css/bootstrap-utilities.css
vendored
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
7
Wonky.Client/wwwroot/bootstrap/css/bootstrap-utilities.min.css
vendored
Normal file
7
Wonky.Client/wwwroot/bootstrap/css/bootstrap-utilities.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4980
Wonky.Client/wwwroot/bootstrap/css/bootstrap-utilities.rtl.css
vendored
Normal file
4980
Wonky.Client/wwwroot/bootstrap/css/bootstrap-utilities.rtl.css
vendored
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
7
Wonky.Client/wwwroot/bootstrap/css/bootstrap-utilities.rtl.min.css
vendored
Normal file
7
Wonky.Client/wwwroot/bootstrap/css/bootstrap-utilities.rtl.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
11890
Wonky.Client/wwwroot/bootstrap/css/bootstrap.css
vendored
Normal file
11890
Wonky.Client/wwwroot/bootstrap/css/bootstrap.css
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
Wonky.Client/wwwroot/bootstrap/css/bootstrap.css.map
Normal file
1
Wonky.Client/wwwroot/bootstrap/css/bootstrap.css.map
Normal file
File diff suppressed because one or more lines are too long
7
Wonky.Client/wwwroot/bootstrap/css/bootstrap.min.css
vendored
Normal file
7
Wonky.Client/wwwroot/bootstrap/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
Wonky.Client/wwwroot/bootstrap/css/bootstrap.min.css.map
Normal file
1
Wonky.Client/wwwroot/bootstrap/css/bootstrap.min.css.map
Normal file
File diff suppressed because one or more lines are too long
11850
Wonky.Client/wwwroot/bootstrap/css/bootstrap.rtl.css
vendored
Normal file
11850
Wonky.Client/wwwroot/bootstrap/css/bootstrap.rtl.css
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
Wonky.Client/wwwroot/bootstrap/css/bootstrap.rtl.css.map
Normal file
1
Wonky.Client/wwwroot/bootstrap/css/bootstrap.rtl.css.map
Normal file
File diff suppressed because one or more lines are too long
7
Wonky.Client/wwwroot/bootstrap/css/bootstrap.rtl.min.css
vendored
Normal file
7
Wonky.Client/wwwroot/bootstrap/css/bootstrap.rtl.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
7074
Wonky.Client/wwwroot/bootstrap/js/bootstrap.bundle.js
vendored
Normal file
7074
Wonky.Client/wwwroot/bootstrap/js/bootstrap.bundle.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
7
Wonky.Client/wwwroot/bootstrap/js/bootstrap.bundle.min.js
vendored
Normal file
7
Wonky.Client/wwwroot/bootstrap/js/bootstrap.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
5212
Wonky.Client/wwwroot/bootstrap/js/bootstrap.esm.js
vendored
Normal file
5212
Wonky.Client/wwwroot/bootstrap/js/bootstrap.esm.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
Wonky.Client/wwwroot/bootstrap/js/bootstrap.esm.js.map
Normal file
1
Wonky.Client/wwwroot/bootstrap/js/bootstrap.esm.js.map
Normal file
File diff suppressed because one or more lines are too long
7
Wonky.Client/wwwroot/bootstrap/js/bootstrap.esm.min.js
vendored
Normal file
7
Wonky.Client/wwwroot/bootstrap/js/bootstrap.esm.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
5259
Wonky.Client/wwwroot/bootstrap/js/bootstrap.js
vendored
Normal file
5259
Wonky.Client/wwwroot/bootstrap/js/bootstrap.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
Wonky.Client/wwwroot/bootstrap/js/bootstrap.js.map
Normal file
1
Wonky.Client/wwwroot/bootstrap/js/bootstrap.js.map
Normal file
File diff suppressed because one or more lines are too long
7
Wonky.Client/wwwroot/bootstrap/js/bootstrap.min.js
vendored
Normal file
7
Wonky.Client/wwwroot/bootstrap/js/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
Wonky.Client/wwwroot/bootstrap/js/bootstrap.min.js.map
Normal file
1
Wonky.Client/wwwroot/bootstrap/js/bootstrap.min.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -12,10 +12,7 @@
|
|||
<meta name="theme-color" content="#000">
|
||||
<title>Inno Web CRM</title>
|
||||
<base href="/" />
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
|
||||
rel="stylesheet"
|
||||
integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
|
||||
crossorigin="anonymous">
|
||||
<link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="css/app.css" rel="stylesheet" />
|
||||
<link href="Wonky.Client.styles.css" rel="stylesheet" />
|
||||
<link href="_content/Blazored.Toast/blazored-toast.min.css" rel="stylesheet" />
|
||||
|
@ -26,9 +23,7 @@
|
|||
<img class="spinner" src="loader.gif" alt="Vent venligst..."/> Henter data...
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
|
||||
integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
|
||||
crossorigin="anonymous"></script>
|
||||
<script src="/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="_framework/blazor.webassembly.js"></script>
|
||||
</body>
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@ public class CompanyDto
|
|||
public string ZipCode { get; set; }
|
||||
[Required(ErrorMessage = "Bynavn skal udfyldes")] [MaxLength(30, ErrorMessage = "Du kan højst bruge 30 tegn")]
|
||||
public string City { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "ORG/VAT/CVR er ikke et gyldigt nummer")]
|
||||
public string VatNumber { get; set; } = "";
|
||||
public string CompanyId { get; set; } = "";
|
||||
|
|
6
Wonky.Entity/Views/ReportClosedView.cs
Normal file
6
Wonky.Entity/Views/ReportClosedView.cs
Normal file
|
@ -0,0 +1,6 @@
|
|||
namespace Wonky.Entity.Views;
|
||||
|
||||
public class ReportClosedView
|
||||
{
|
||||
public bool ReportClosed { get; set; }
|
||||
}
|
Loading…
Reference in a new issue