sembra funzionare tutto

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-04-26 10:13:58 +02:00
parent de431b6ee6
commit 69f935b755
13 changed files with 740 additions and 208 deletions

View File

@@ -203,19 +203,31 @@ class ServicesCubit extends Cubit<ServicesState> {
// --- PERSISTENZA ---
Future<void> saveCurrentService({required bool isBozza}) async {
Future<void> saveCurrentService({
required bool isBozza,
bool shouldPop = true,
List<ServiceFileModel>? files,
}) async {
if (state.currentService == null) return;
emit(state.copyWith(status: ServicesStatus.saving, errorMessage: null));
try {
// 1. Aggiorniamo il flag bozza in base a quale pulsante ha premuto l'utente
final serviceToSave = state.currentService!.copyWith(isBozza: isBozza);
final serviceToSave = state.currentService!.copyWith(
isBozza: isBozza,
files: files,
);
// 2. Salvataggio corazzato
await _repository.saveFullService(serviceToSave);
final updatedService = await _repository.saveFullService(serviceToSave);
// 3. Reset e ricaricamento
emit(state.copyWith(status: ServicesStatus.saved, currentService: null));
emit(
state.copyWith(
status: shouldPop ? ServicesStatus.saved : ServicesStatus.savedNoPop,
currentService: shouldPop ? null : updatedService,
),
);
await loadServices(refresh: true);
} catch (e) {
emit(