feat - Service - Providers

This commit is contained in:
2026-04-16 11:48:11 +02:00
parent 29790a7a36
commit 787873a26f
11 changed files with 758 additions and 55 deletions

View File

@@ -1,6 +1,7 @@
import 'package:equatable/equatable.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flux/core/blocs/session/session_bloc.dart';
import 'package:flux/features/services/data/services_repository.dart';
import 'package:flux/features/services/models/service_model.dart';
import 'package:get_it/get_it.dart';
@@ -54,11 +55,14 @@ class ServicesState extends Equatable {
class ServicesCubit extends Cubit<ServicesState> {
final ServicesRepository _repository = GetIt.I<ServicesRepository>();
final SessionBloc _sessionBloc;
ServicesCubit() : super(const ServicesState());
ServicesCubit(this._sessionBloc) : super(const ServicesState());
// Carica tutto il pacchetto
Future<void> loadServices({bool refresh = false}) async {
// Se non è un refresh e abbiamo già dati, non disturbare Supabase
if (!refresh && state.allServices.isNotEmpty) return;
if (state.isLoading) return;
// Se facciamo refresh, resettiamo tutto
@@ -74,6 +78,7 @@ class ServicesCubit extends Cubit<ServicesState> {
try {
final newServices = await _repository.fetchServices(
companyId: _sessionBloc.state.company!.id,
offset: currentOffset,
searchTerm: state.query,
dateRange: state.dateRange,