import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:flux/features/company/data/company_repository.dart'; import 'package:flux/features/company/models/company_model.dart'; import 'package:get_it/get_it.dart'; part 'company_events.dart'; part 'company_state.dart'; class CompanyBloc extends Bloc { final CompanyRepository _repository = GetIt.I(); CompanyBloc() : super(const CompanyState(status: CompanyStatus.initial)) { on((event, emit) async { emit(const CompanyState(status: CompanyStatus.loading)); try { final createdCompany = await _repository.createCompany(event.company); emit( state.copyWith( status: CompanyStatus.success, company: createdCompany, ), ); } catch (e) { emit( state.copyWith( status: CompanyStatus.failure, errorMessage: e.toString(), ), ); } }); } }