Migliorie grafiche per gli articoli

This commit is contained in:
2026-02-25 11:04:36 +01:00
parent 7fa96eeb09
commit a5e27bcf06
5 changed files with 90 additions and 28 deletions

View File

@@ -53,37 +53,41 @@
@if (FileLoading) @if (FileLoading)
{ {
<div class="container-attached"> <CardFormModal Title="Immagini">
<MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="my-3"/> <div class="container-attached">
</div> <MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="my-3"/>
</div>
</CardFormModal>
} }
else if (!AttachedList.IsNullOrEmpty()) else if (!AttachedList.IsNullOrEmpty())
{ {
<div class="container-attached"> <CardFormModal Title="Immagini">
<div class="scroll-attached"> <div class="container-attached">
@foreach (var item in AttachedList!.Select((p, index) => new { p, index })) <div class="scroll-attached">
{ @foreach (var item in AttachedList!.Select((p, index) => new { p, index }))
<MudCard> {
@if (!item.p.ThumbPath.IsNullOrEmpty()) <MudCard>
{ @if (!item.p.ThumbPath.IsNullOrEmpty())
<MudCardMedia Image="@item.p.ThumbPath" Height="100"/> {
} <MudCardMedia Image="@item.p.ThumbPath" Height="100"/>
<MudCardContent Class="image_card"> }
<MudText Typo="Typo.subtitle1"><b>@item.p.Name</b></MudText> <MudCardContent Class="image_card">
<MudIconButton Variant="Variant.Outlined" <MudText Typo="Typo.subtitle1"><b>@item.p.Name</b></MudText>
Icon="@Icons.Material.Rounded.Close" <MudIconButton Variant="Variant.Outlined"
Size="Size.Small" Color="Color.Error" Icon="@Icons.Material.Rounded.Close"
OnClick="@(() => OnRemoveAttached(item.index))"/> Size="Size.Small" Color="Color.Error"
</MudCardContent> OnClick="@(() => OnRemoveAttached(item.index))"/>
</MudCard> </MudCardContent>
} </MudCard>
}
</div>
</div> </div>
</div> </CardFormModal>
} }
@if (!IsView) @if (!IsView)
{ {
<div class="container-button"> <div class="container-button ripple-container">
<MudButton Class="button-settings green-icon" <MudButton Class="button-settings green-icon"
FullWidth="true" FullWidth="true"
StartIcon="@Icons.Material.Rounded.AttachFile" StartIcon="@Icons.Material.Rounded.AttachFile"
@@ -95,6 +99,28 @@
</div> </div>
} }
<CardFormModal Title="Articoli">
<div class="input-manual-barcode">
<MudTextField FullWidth="true" ReadOnly="IsView" T="string?" Variant="Variant.Text"
@bind-Value="ManualBarcode" Placeholder="Digita manualmente il codice"/>
<MudIconButton Color="Color.Primary" Size="Size.Small" Icon="@Icons.Material.Rounded.Send" />
</div>
</CardFormModal>
@if (!IsView)
{
<div class="container-button ripple-container">
<MudButton Class="button-settings red-icon"
FullWidth="true"
StartIcon="@Icons.Material.Rounded.Balance"
Size="Size.Medium"
OnClick="@OpenAddAttached"
Variant="Variant.Outlined">
Consulta articoli
</MudButton>
</div>
}
<CardFormModal Title="Scadenza"> <CardFormModal Title="Scadenza">
<MudSelectExtended FullWidth="true" ReadOnly="@IsView" T="int" Variant="Variant.Text" <MudSelectExtended FullWidth="true" ReadOnly="@IsView" T="int" Variant="Variant.Text"
@bind-Value="@Scheda.Scadenza" @bind-Value:after="OnAfterChangeValue"> @bind-Value="@Scheda.Scadenza" @bind-Value:after="OnAfterChangeValue">
@@ -118,7 +144,7 @@
</CardFormModal> </CardFormModal>
<div class="container-button"> <div class="container-button">
<MudButton Class="button-settings blue-icon" <MudButton Class="button-settings primary-icon"
FullWidth="true" FullWidth="true"
StartIcon="@Icons.Material.Rounded.Description" StartIcon="@Icons.Material.Rounded.Description"
Size="Size.Medium" Size="Size.Medium"
@@ -145,6 +171,8 @@
private bool IsView => !NetworkService.ConnectionAvailable; private bool IsView => !NetworkService.ConnectionAvailable;
private string ManualBarcode { get; set; }
//Overlay //Overlay
private bool VisibleOverlay { get; set; } private bool VisibleOverlay { get; set; }
private bool SuccessAnimation { get; set; } private bool SuccessAnimation { get; set; }

View File

@@ -1,5 +1,16 @@
.container-attached { .container-attached {
width: 100%; width: 100%;
margin-bottom: 1rem;
}
.container-attached .divider {
margin: unset;
}
.input-manual-barcode {
display: flex;
align-items: center;
gap: 1.5rem;
} }
.scroll-attached { .scroll-attached {

View File

@@ -168,8 +168,7 @@ h1:focus {
.divider { .divider {
display: block; display: block;
width: 100%; width: 100%;
border: .05rem solid var(--card-border-color); border: .05rem solid var(--mud-palette-lines-inputs);
margin: 1rem 0;
} }
.pb-safe-area { .pb-safe-area {

View File

@@ -35,4 +35,20 @@
.mud-expansion-panels { .mud-expansion-panels {
width: 100%; width: 100%;
}
.ripple-container .mud-ripple-effect {
display: none !important;
}
.ripple-container .mud-ripple-effect-expanding {
display: none !important;
}
.ripple-container .mud-button:focus-visible, .ripple-container .mud-button:active{
background-color: unset !important;
}
.ripple-container .mud-button-outlined:focus-visible, .ripple-container .mud-button-outlined:active{
background-color: unset !important;
} }

View File

@@ -144,6 +144,10 @@
margin-bottom: 2rem; margin-bottom: 2rem;
} }
.container-button.remove-backgroud {
background: unset !important;
}
.container-button.mud-elevation-1 { .container-button.mud-elevation-1 {
background: unset !important; background: unset !important;
} }
@@ -175,8 +179,8 @@
color: var(--mud-palette-dark); color: var(--mud-palette-dark);
} }
.container-button .button-settings.blue-icon .mud-icon-root { .container-button .button-settings.primary-icon .mud-icon-root {
border: 1px solid var(--mud-palette-primary); border: 1px solid hsl(from var(--mud-palette-primary) h s 95%);
background: hsl(from var(--mud-palette-primary-lighten) h s 95%); background: hsl(from var(--mud-palette-primary-lighten) h s 95%);
color: var(--mud-palette-primary-darken); color: var(--mud-palette-primary-darken);
} }
@@ -199,6 +203,10 @@
font-size: 1rem; font-size: 1rem;
} }
.container-button.ripple-container{
overflow: clip;
}
.container-button .button-settings.exit { .container-button .button-settings.exit {
padding: 0; padding: 0;
} }