This commit is contained in:
jantunesmesias 2024-08-29 11:30:55 -03:00
parent a7ef2a6d45
commit 6a89cb7bce
3 changed files with 0 additions and 136 deletions

View File

@ -1,94 +0,0 @@
// home_page_bloc.dart
import 'package:bloc/bloc.dart';
import 'package:flutter/material.dart';
import 'package:hub/app_state.dart';
import 'package:hub/backend/api_requests/api_calls.dart';
import 'package:hub/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart';
import 'package:hub/shared/utils/dialog_util.dart';
import 'home_page_event.dart';
import 'home_page_state.dart';
class HomePageBloc extends Bloc<HomePageEvent, HomePageState> {
HomePageBloc() : super(HomePageInitial()) {
on<LoadData>(_onLoadData);
on<ToggleGrid>(_onToggleGrid);
}
Future<void> _onLoadData(LoadData event, Emitter<HomePageState> emit) async {
emit(HomePageLoading());
try {
final response = await PhpGroup.getDadosCall.call(
devUUID: AppState().devUUID,
userUUID: AppState().userUUID,
cliUUID: AppState().cliUUID,
atividade: 'getDados',
);
if (response.statusCode == 200) {
final error = response.jsonBody['error'];
final errorMsg = response.jsonBody['error_msg'];
if (error == false) {
AppState().whatsapp = response.jsonBody['whatsapp'];
AppState().provisional = response.jsonBody['provisional'];
AppState().name = response.jsonBody['visitado']['VDO_NOME'];
emit(HomePageLoaded());
} else {
await DialogUtil.warningDefault(AppState().context!)
.whenComplete(() => _checkLocal());
}
} else {
await DialogUtil.warningDefault(AppState().context!)
.whenComplete(() => _checkLocal());
}
} catch (e) {
emit(HomePageError(message: 'Error in checkData: $e'));
}
}
Future<void> _onToggleGrid(
ToggleGrid event, Emitter<HomePageState> emit) async {
if (state is HomePageLoaded) {
final currentState = state as HomePageLoaded;
emit(const HomePageLoaded());
}
}
Future<void> _checkLocal() async {
try {
final response = await PhpGroup.getLocalsCall.call(
devUUID: AppState().devUUID,
userUUID: AppState().userUUID,
);
List<dynamic> locals = response.jsonBody['locais'] ?? [];
final activeLocals =
locals.where((local) => local['CLU_STATUS'] == 'A').toList();
if (activeLocals.isEmpty || AppState().cliUUID.isEmpty) {
await _showBottomSheet();
} else {
add(LoadData());
}
} catch (e) {
await _showBottomSheet();
}
}
Future<void> _showBottomSheet() async {
await showModalBottomSheet(
isScrollControlled: true,
backgroundColor: Colors.transparent,
enableDrag: false,
isDismissible: false,
context: AppState().context!,
builder: (context) => Padding(
padding: MediaQuery.viewInsetsOf(context),
child: const BottomArrowLinkedLocalsComponentWidget(),
),
).then((_) async {
add(LoadData());
});
}
}

View File

@ -1,13 +0,0 @@
// home_page_event.dart
import 'package:equatable/equatable.dart';
abstract class HomePageEvent extends Equatable {
const HomePageEvent();
@override
List<Object> get props => [];
}
class LoadData extends HomePageEvent {}
class ToggleGrid extends HomePageEvent {}

View File

@ -1,29 +0,0 @@
// home_page_state.dart
import 'package:equatable/equatable.dart';
abstract class HomePageState extends Equatable {
const HomePageState();
@override
List<Object> get props => [];
}
class HomePageInitial extends HomePageState {}
class HomePageLoading extends HomePageState {}
class HomePageLoaded extends HomePageState {
const HomePageLoaded();
@override
List<Object> get props => [];
}
class HomePageError extends HomePageState {
final String message;
const HomePageError({required this.message});
@override
List<Object> get props => [message];
}