reworked operation (#12)

Reviewed-on: #12
Co-authored-by: Mark M2 Macbook <marco@catelli.it>
Co-committed-by: Mark M2 Macbook <marco@catelli.it>
This commit is contained in:
2026-05-04 15:36:42 +02:00
committed by brontomark
parent 9f57207a39
commit 94ad524bae
110 changed files with 5831 additions and 5306 deletions

View File

@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flux/core/blocs/session/session_cubit.dart';
import 'package:flux/core/theme/theme.dart';
import 'package:flux/features/customers/blocs/customer_cubit.dart';
import 'package:flux/features/customers/blocs/customers_cubit.dart';
import 'package:flux/features/customers/models/customer_model.dart';
import 'package:flux/features/customers/ui/customer_form.dart';
import 'package:go_router/go_router.dart';
@@ -26,14 +26,14 @@ class _CustomersContentState extends State<CustomersContent> {
void _loadInitialCustomers() {
final companyId = context.read<SessionCubit>().state.company?.id;
if (companyId != null) {
context.read<CustomerCubit>().loadCustomers();
context.read<CustomersCubit>().loadCustomers();
}
}
void _onSearch(String query) {
final companyId = context.read<SessionCubit>().state.company?.id;
if (companyId != null) {
context.read<CustomerCubit>().searchCustomers(query);
context.read<CustomersCubit>().searchCustomers(query);
}
}
@@ -86,9 +86,9 @@ class _CustomersContentState extends State<CustomersContent> {
// LISTA CLIENTI
Expanded(
child: BlocBuilder<CustomerCubit, CustomerState>(
child: BlocBuilder<CustomersCubit, CustomersState>(
builder: (context, state) {
if (state.status == CustomerStatus.loading &&
if (state.status == CustomersStatus.loading &&
state.customers.isEmpty) {
return const Center(child: CircularProgressIndicator());
}
@@ -166,7 +166,7 @@ class _CustomerTile extends StatelessWidget {
radius: 24,
backgroundColor: context.accent.withValues(alpha: 0.1),
child: Text(
customer.nome.isNotEmpty ? customer.nome[0].toUpperCase() : '?',
customer.name.isNotEmpty ? customer.name[0].toUpperCase() : '?',
style: TextStyle(
color: context.accent,
fontWeight: FontWeight.bold,
@@ -174,7 +174,7 @@ class _CustomerTile extends StatelessWidget {
),
),
title: Text(
customer.nome,
customer.name,
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16),
),
subtitle: Padding(
@@ -184,7 +184,7 @@ class _CustomerTile extends StatelessWidget {
Icon(Icons.phone_android, size: 14, color: context.secondaryText),
const SizedBox(width: 4),
Text(
customer.telefono,
customer.phoneNumber,
style: TextStyle(color: context.secondaryText),
),
if (customer.email.isNotEmpty) ...[
@@ -196,11 +196,11 @@ class _CustomerTile extends StatelessWidget {
style: TextStyle(color: context.secondaryText),
),
],
if (customer.files.isNotEmpty) ...[
if (customer.attachments.isNotEmpty) ...[
Text(' - ', style: TextStyle(color: context.secondaryText)),
Icon(Icons.attach_file, size: 14, color: context.accent),
Text(
'${customer.files.length} doc',
'${customer.attachments.length} doc',
style: TextStyle(
color: context.accent,
fontWeight: FontWeight.bold,
@@ -242,12 +242,12 @@ void openCustomerForm({
if (customer == null) {
// CASO NUOVO: Iniettiamo il companyId e inviamo l'evento create
context.read<CustomerCubit>().createCustomer(
context.read<CustomersCubit>().createCustomer(
customerFromForm.copyWith(companyId: companyId),
);
} else {
// CASO MODIFICA: L'ID e il companyId sono già nel modello
context.read<CustomerCubit>().updateCustomer(customerFromForm);
context.read<CustomersCubit>().updateCustomer(customerFromForm);
}
Navigator.pop(dialogContext);
},