WIP
This commit is contained in:
parent
a7ef2a6d45
commit
6a89cb7bce
|
@ -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());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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 {}
|
|
|
@ -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];
|
|
||||||
}
|
|
Loading…
Reference in New Issue