fix mobile upload

This commit is contained in:
2026-05-09 09:50:20 +02:00
parent c6ef798b22
commit 65aa3c7de8
11 changed files with 164 additions and 52 deletions

View File

@@ -1,6 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flux/core/widgets/shared_forms/shared_files_section.dart';
import 'package:flux/features/attachments/blocs/attachments_bloc.dart';
import 'package:flux/features/operations/blocs/operation_form_cubit.dart';
import 'package:flux/features/operations/models/operation_model.dart';
@@ -246,10 +245,12 @@ class _OperationFormScreenState extends State<OperationFormScreen> {
flex: 3,
child: SingleChildScrollView(
padding: const EdgeInsets.all(16.0),
child: SharedFilesSection(
titleNameForUpload:
child: SharedAttachmentsSection(
parentType: AttachmentParentType.operation,
parentId: state.operation.id,
titleForUpload:
state.operation.customerDisplayName ??
'Nuova operazione',
'Nuova pratica',
onGenerateIdForQr: _generateIdForQr,
),
),
@@ -408,9 +409,9 @@ class _OperationFormScreenState extends State<OperationFormScreen> {
color: _getStatusColor(displayStatus),
),
items: OperationStatus.values
.where(
/* .where(
(s) => s != OperationStatus.draft,
) // Nascondiamo 'Bozza' dal menu
) // Nascondiamo 'Bozza' dal menu */
.map(
(status) => DropdownMenuItem(
value: status,
@@ -456,7 +457,7 @@ class _OperationFormScreenState extends State<OperationFormScreen> {
),
const Divider(height: 32),
_buildSectionTitle('Cliente & Riferimento'),
//_buildSectionTitle('Cliente & Riferimento'),
SharedCustomerSection(
customerId: currentOp.customerId,
customerName: currentOp.customerDisplayName,
@@ -539,15 +540,18 @@ class _OperationFormScreenState extends State<OperationFormScreen> {
const Divider(height: 32),
if (showFiles) ...[
/* SharedAttachmentsSection(
SharedAttachmentsSection(
parentType: AttachmentParentType.operation,
parentId: currentOp.id,
), */
SharedFilesSection(
titleNameForUpload:
titleForUpload:
state.operation.customerDisplayName ?? 'Nuova pratica',
onGenerateIdForQr: _generateIdForQr,
),
/* SharedFilesSection(
titleNameForUpload:
state.operation.customerDisplayName ?? 'Nuova pratica',
onGenerateIdForQr: _generateIdForQr,
), */
],
],
);

View File

@@ -45,6 +45,7 @@ class DetailsSection extends StatelessWidget {
}
void _showProviderModal(BuildContext context, String operationType) {
final OperationFormCubit cubit = context.read<OperationFormCubit>();
showModalBottomSheet(
context: context,
isScrollControlled: true,
@@ -103,28 +104,31 @@ class DetailsSection extends StatelessWidget {
);
}
return ListView.builder(
controller: scrollController,
itemCount: filteredProviders.length,
itemBuilder: (context, index) {
final provider = filteredProviders[index];
return ListTile(
leading: const Icon(Icons.business),
title: Text(
provider.name,
style: const TextStyle(
fontWeight: FontWeight.bold,
return BlocProvider.value(
value: cubit,
child: ListView.builder(
controller: scrollController,
itemCount: filteredProviders.length,
itemBuilder: (context, index) {
final provider = filteredProviders[index];
return ListTile(
leading: const Icon(Icons.business),
title: Text(
provider.name,
style: const TextStyle(
fontWeight: FontWeight.bold,
),
),
),
onTap: () {
context.read<OperationFormCubit>().updateFields(
providerId: provider.id,
providerDisplayName: provider.name,
);
Navigator.pop(modalContext);
},
);
},
onTap: () {
context.read<OperationFormCubit>().updateFields(
providerId: provider.id,
providerDisplayName: provider.name,
);
Navigator.pop(modalContext);
},
);
},
),
);
},
),