Le foto venivano zippate tutte in un unico allegato: oltre i 100 MB i servizi rifiutavano l'invio (MaxUploadSizeExceededException) e, costruendo tutto in RAM sul thread della UI, il dispositivo si bloccava. - Invio diviso in più email da massimo ~40 MB ciascuna - Zip scritti su disco una parte alla volta e caricati in streaming - Preparazione in background, avanzamento "parte X di N" - Richiesta se includere le foto, con il loro peso (default: solo i log) - Database inviato insieme al file -wal - Avviso subito se si è offline Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
35 lines
1.2 KiB
Plaintext
35 lines
1.2 KiB
Plaintext
@* Conferma di un'azione. Il titolo dice cosa sta per succedere, il messaggio
|
|
che conseguenze ha: davanti a un'azione irreversibile la domanda deve
|
|
essere leggibile prima del testo, non dedotta da esso.
|
|
|
|
YesText -> true, NoText o chiusura senza scelta -> null.
|
|
AltText (opzionale) aggiunge una seconda scelta valida -> false. *@
|
|
<MudMessageBox @ref="_confirmDelete" Title="@Title" CancelText="@NoText" NoText="@AltText">
|
|
<MessageContent>
|
|
@Message
|
|
</MessageContent>
|
|
<YesButton>
|
|
<MudButton Size="Size.Small" Variant="Variant.Filled" Color="YesColor">
|
|
@YesText
|
|
</MudButton>
|
|
</YesButton>
|
|
</MudMessageBox>
|
|
|
|
@code
|
|
{
|
|
[Parameter] public string Title { get; set; } = "Attenzione";
|
|
[Parameter] public string Message { get; set; } = string.Empty;
|
|
[Parameter] public string YesText { get; set; } = string.Empty;
|
|
[Parameter] public string NoText { get; set; } = "Annulla";
|
|
[Parameter] public string? AltText { get; set; }
|
|
[Parameter] public Color YesColor { get; set; } = Color.Primary;
|
|
|
|
private MudMessageBox? _confirmDelete;
|
|
|
|
public async Task<bool?> ShowAsync()
|
|
{
|
|
if (_confirmDelete == null) return null;
|
|
return await _confirmDelete.ShowAsync();
|
|
}
|
|
}
|