Cambiata visualizzazione calendario e aggiunto formAttività

This commit is contained in:
2025-06-11 10:11:20 +02:00
parent d462e9faca
commit d8f2588e0e
52 changed files with 1308 additions and 4734 deletions

View File

@@ -1,31 +1,57 @@
@using Template.Shared.Core.Dto
@using Template.Shared.Core.Helpers.Enum
<div class="activity-card @Activity.Category.ConvertToHumanReadable()">
<div class="activity-card @Activity.Category.ConvertToHumanReadable()" @onclick="() => OpenActivityForm(Activity.ActivityId)">
<div class="activity-left-section">
<div class="activity-hours-section">
<span class="activity-hours">
@if (Activity.EffectiveTime is null)
{
@($"{Activity.EstimatedTime:t}")
}
else
{
@($"{Activity.EffectiveTime:t}")
}
</span>
@if (Durata != null)
{
<MudChip T="string" Icon="@IconConstants.Chip.Time" Color="Color.Dark" Size="Size.Small">@($"{Durata.Value.TotalHours:####}h")</MudChip>
}
</div>
<div class="activity-body-section">
<MudText Class="activity-title" Typo="Typo.button" HtmlTag="h3">@Activity.Commessa</MudText>
<MudText Class="activity-subtitle" Typo="Typo.caption">@Activity.ActivityDescription</MudText>
<div class="title-section">
<MudText Class="activity-title" Typo="Typo.body1" HtmlTag="h3">
@switch (Activity.Category)
{
case ActivityCategoryEnum.Commessa:
@Activity.Commessa
break;
case ActivityCategoryEnum.Interna:
@Activity.Cliente
break;
case ActivityCategoryEnum.Memo:
@Activity.ActivityDescription
break;
default:
@("")
break;
}
</MudText>
<div class="activity-hours-section">
<span class="activity-hours">
@if (Activity.EffectiveTime is null)
{
@($"{Activity.EstimatedTime:t}")
}
else
{
@($"{Activity.EffectiveTime:t}")
}
</span>
</div>
</div>
@if (Activity.Category != ActivityCategoryEnum.Memo)
{
<MudText Class="activity-subtitle" Typo="Typo.body1" HtmlTag="p">@Activity.ActivityDescription</MudText>
}
</div>
</div>
<div class="activity-info-section">
@if (Durata != null && (Durata.Value.TotalHours > 0 || Durata.Value.Minutes > 0))
{
var ore = (int)Durata.Value.TotalHours;
var minuti = Durata.Value.Minutes;
<MudChip T="string" Icon="@IconConstants.Chip.Time" Color="Color.Dark" Size="Size.Small">
@(ore > 0 ? $"{ore}h{(minuti > 0 ? $" {minuti}m" : "")}" : $"{minuti}m")
</MudChip>
}
@if (Activity.ActivityResultId != null)
{
<MudChip T="string" Icon="@IconConstants.Chip.Stato" Size="Size.Small" Color="Color.Success">@Activity.ActivityResultId</MudChip>
@@ -38,7 +64,6 @@
[Parameter] public ActivityDTO Activity { get; set; } = new();
private TimeSpan? Durata { get; set; }
private Color ColorStatus { get; set; }
protected override void OnInitialized()
{
@@ -46,7 +71,15 @@
{
{ EffectiveTime: not null, EffectiveEndtime: not null } => Activity.EffectiveEndtime.Value - Activity.EffectiveTime.Value,
{ EstimatedTime: not null, EstimatedEndtime: not null } => Activity.EstimatedEndtime.Value - Activity.EstimatedTime.Value,
_ => Durata
_ => null
};
}
private void OpenActivityForm(string? activityId)
{
var url = "/activity";
url = !activityId.IsNullOrEmpty() ? $"{url}/{activityId}" : url;
NavigationManager.NavigateTo(url);
}
}