mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2025-11-28 00:04:55 +00:00
Refactor code structure and update dependencies
Clean up code structure, remove unused imports, and update dependencies. No functional changes made, only code organization improvements.
This commit is contained in:
@ -5,6 +5,7 @@ import 'package:flutter_svg/flutter_svg.dart';
|
|||||||
import 'package:syncrow_app/features/app_layout/model/space_model.dart';
|
import 'package:syncrow_app/features/app_layout/model/space_model.dart';
|
||||||
import 'package:syncrow_app/features/app_layout/view/widgets/app_bar_home_dropdown.dart';
|
import 'package:syncrow_app/features/app_layout/view/widgets/app_bar_home_dropdown.dart';
|
||||||
import 'package:syncrow_app/features/dashboard/view/dashboard_view.dart';
|
import 'package:syncrow_app/features/dashboard/view/dashboard_view.dart';
|
||||||
|
import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart';
|
||||||
import 'package:syncrow_app/features/devices/model/room_model.dart';
|
import 'package:syncrow_app/features/devices/model/room_model.dart';
|
||||||
import 'package:syncrow_app/features/devices/view/widgets/devices_view_body.dart';
|
import 'package:syncrow_app/features/devices/view/widgets/devices_view_body.dart';
|
||||||
import 'package:syncrow_app/features/menu/view/menu_view.dart';
|
import 'package:syncrow_app/features/menu/view/menu_view.dart';
|
||||||
@ -260,7 +261,10 @@ class HomeCubit extends Cubit<HomeState> {
|
|||||||
final List<Widget> pages = [
|
final List<Widget> pages = [
|
||||||
const DashboardView(),
|
const DashboardView(),
|
||||||
// const LayoutPage(),
|
// const LayoutPage(),
|
||||||
const DevicesViewBody(),
|
BlocProvider(
|
||||||
|
create: (context) => DevicesCubit(),
|
||||||
|
child: const DevicesViewBody(),
|
||||||
|
),
|
||||||
const SceneView(),
|
const SceneView(),
|
||||||
const MenuView(),
|
const MenuView(),
|
||||||
];
|
];
|
||||||
|
|||||||
@ -13,6 +13,10 @@ class DefaultNavBar extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
return BlocProvider(
|
||||||
|
create: (context) => DevicesCubit(),
|
||||||
|
child: BlocBuilder<DevicesCubit, DevicesState>(
|
||||||
|
builder: (context, state) {
|
||||||
return BlocBuilder<HomeCubit, HomeState>(
|
return BlocBuilder<HomeCubit, HomeState>(
|
||||||
builder: (context, state) {
|
builder: (context, state) {
|
||||||
var cubit = HomeCubit.getInstance();
|
var cubit = HomeCubit.getInstance();
|
||||||
@ -23,7 +27,8 @@ class DefaultNavBar extends StatelessWidget {
|
|||||||
onTap: (int index) {
|
onTap: (int index) {
|
||||||
cubit.updatePageIndex(index);
|
cubit.updatePageIndex(index);
|
||||||
if (DevicesCubit.get(context).chosenCategoryView != null) {
|
if (DevicesCubit.get(context).chosenCategoryView != null) {
|
||||||
DevicesCubit.getInstance().clearCategoriesSelection(context);
|
DevicesCubit.get(context)
|
||||||
|
.clearCategoriesSelection(context);
|
||||||
}
|
}
|
||||||
if (HomeCubit.getInstance().selectedRoom != null) {
|
if (HomeCubit.getInstance().selectedRoom != null) {
|
||||||
HomeCubit.getInstance().unselectRoom();
|
HomeCubit.getInstance().unselectRoom();
|
||||||
@ -44,5 +49,8 @@ class DefaultNavBar extends StatelessWidget {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,7 +22,7 @@ import 'package:syncrow_app/utils/resource_manager/constants.dart';
|
|||||||
part 'devices_state.dart';
|
part 'devices_state.dart';
|
||||||
|
|
||||||
class DevicesCubit extends Cubit<DevicesState> {
|
class DevicesCubit extends Cubit<DevicesState> {
|
||||||
DevicesCubit._() : super(DevicesInitial()) {
|
DevicesCubit() : super(DevicesInitial()) {
|
||||||
if (HomeCubit.getInstance().selectedSpace != null) {
|
if (HomeCubit.getInstance().selectedSpace != null) {
|
||||||
fetchGroups(HomeCubit.getInstance().selectedSpace!.id!);
|
fetchGroups(HomeCubit.getInstance().selectedSpace!.id!);
|
||||||
for (var room in HomeCubit.getInstance().selectedSpace!.rooms!) {
|
for (var room in HomeCubit.getInstance().selectedSpace!.rooms!) {
|
||||||
@ -32,18 +32,18 @@ class DevicesCubit extends Cubit<DevicesState> {
|
|||||||
}
|
}
|
||||||
bool _isClosed = false;
|
bool _isClosed = false;
|
||||||
|
|
||||||
static DevicesCubit? _instance;
|
// static DevicesCubit? _instance;
|
||||||
static DevicesCubit getInstance() {
|
// static DevicesCubit.get(context) {
|
||||||
// If an instance already exists, return it
|
// // If an instance already exists, return it
|
||||||
_instance ??= DevicesCubit._();
|
// _instance ??= DevicesCubit._();
|
||||||
return _instance!;
|
// return _instance!;
|
||||||
}
|
// }
|
||||||
|
|
||||||
@override
|
// @override
|
||||||
Future<void> close() {
|
// Future<void> close() {
|
||||||
_isClosed = true;
|
// _isClosed = true;
|
||||||
return super.close();
|
// return super.close();
|
||||||
}
|
// }
|
||||||
|
|
||||||
static DevicesCubit get(context) => BlocProvider.of(context);
|
static DevicesCubit get(context) => BlocProvider.of(context);
|
||||||
|
|
||||||
|
|||||||
@ -1,20 +1,17 @@
|
|||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
// import 'package:syncrow_app/features/devices/view/widgets/devices_view_body.dart';
|
||||||
import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart';
|
|
||||||
import 'package:syncrow_app/features/devices/view/widgets/devices_view_body.dart';
|
|
||||||
|
|
||||||
class DevicesView extends StatelessWidget {
|
// class DevicesView extends StatelessWidget {
|
||||||
const DevicesView({super.key}); // Fixing the syntax for super.key
|
// const DevicesView({super.key});
|
||||||
|
|
||||||
@override
|
// @override
|
||||||
Widget build(BuildContext context) {
|
// Widget build(BuildContext context) {
|
||||||
return BlocBuilder<DevicesCubit, DevicesState>(
|
// print('built DevicesView');
|
||||||
builder: (_, state) => Container(
|
// return Container(
|
||||||
padding: const EdgeInsets.all(8),
|
// padding: const EdgeInsets.all(8),
|
||||||
width: MediaQuery.of(context).size.width,
|
// width: MediaQuery.of(context).size.width,
|
||||||
height: MediaQuery.of(context).size.height,
|
// height: MediaQuery.of(context).size.height,
|
||||||
child: const DevicesViewBody(),
|
// child: const DevicesViewBody(),
|
||||||
),
|
// );
|
||||||
);
|
// }
|
||||||
}
|
// }
|
||||||
}
|
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
|
import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart';
|
||||||
import 'package:syncrow_app/features/devices/model/device_model.dart';
|
import 'package:syncrow_app/features/devices/model/device_model.dart';
|
||||||
import 'package:syncrow_app/features/devices/view/widgets/ACs/ac_interface_controls.dart';
|
import 'package:syncrow_app/features/devices/view/widgets/ACs/ac_interface_controls.dart';
|
||||||
import 'package:syncrow_app/features/devices/view/widgets/ACs/ac_interface_temp_unit.dart';
|
import 'package:syncrow_app/features/devices/view/widgets/ACs/ac_interface_temp_unit.dart';
|
||||||
|
|||||||
@ -41,9 +41,8 @@ class ACsList extends StatelessWidget {
|
|||||||
itemCount:
|
itemCount:
|
||||||
DevicesCubit.get(context).chosenCategory!.devices!.length,
|
DevicesCubit.get(context).chosenCategory!.devices!.length,
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
DeviceModel ac = DevicesCubit.get(context)
|
DeviceModel ac =
|
||||||
.chosenCategory!
|
DevicesCubit.get(context).chosenCategory!.devices![index];
|
||||||
.devices![index];
|
|
||||||
return Column(
|
return Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
|
|||||||
@ -18,11 +18,32 @@ class DevicesViewBody extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return BlocBuilder<HomeCubit, HomeState>(
|
return BlocConsumer<DevicesCubit, DevicesState>(
|
||||||
|
listener: (context, state) {
|
||||||
|
if (state is GetDevicesError) {
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text(state.errorMsg),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else if (state is DevicesCategoriesError) {
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text(state.errorMsg),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else if (state is DeviceControlError) {
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text(state.errorMsg),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
builder: (context, state) {
|
builder: (context, state) {
|
||||||
return BlocBuilder<DevicesCubit, DevicesState>(
|
if (state is DevicesLoading ||
|
||||||
builder: (context, state) {
|
state is GetDevicesLoading ||
|
||||||
if (state is DevicesLoading) {
|
state is DevicesCategoriesLoading) {
|
||||||
return const Center(child: CircularProgressIndicator());
|
return const Center(child: CircularProgressIndicator());
|
||||||
} else {
|
} else {
|
||||||
return Padding(
|
return Padding(
|
||||||
@ -40,8 +61,7 @@ class DevicesViewBody extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: PageView(
|
child: PageView(
|
||||||
controller:
|
controller: HomeCubit.getInstance().devicesPageController,
|
||||||
HomeCubit.getInstance().devicesPageController,
|
|
||||||
onPageChanged: (index) {
|
onPageChanged: (index) {
|
||||||
HomeCubit.getInstance().devicesPageChanged(index);
|
HomeCubit.getInstance().devicesPageChanged(index);
|
||||||
},
|
},
|
||||||
@ -50,10 +70,7 @@ class DevicesViewBody extends StatelessWidget {
|
|||||||
if (HomeCubit.getInstance().selectedSpace != null)
|
if (HomeCubit.getInstance().selectedSpace != null)
|
||||||
if (HomeCubit.getInstance().selectedSpace!.rooms !=
|
if (HomeCubit.getInstance().selectedSpace!.rooms !=
|
||||||
null)
|
null)
|
||||||
...HomeCubit.getInstance()
|
...HomeCubit.getInstance().selectedSpace!.rooms!.map(
|
||||||
.selectedSpace!
|
|
||||||
.rooms!
|
|
||||||
.map(
|
|
||||||
(room) {
|
(room) {
|
||||||
return RoomPage(
|
return RoomPage(
|
||||||
room: room,
|
room: room,
|
||||||
@ -92,7 +109,5 @@ class DevicesViewBody extends StatelessWidget {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,14 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart';
|
import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart';
|
||||||
import 'package:syncrow_app/features/devices/model/device_model.dart';
|
import 'package:syncrow_app/features/devices/model/device_model.dart';
|
||||||
import 'package:syncrow_app/features/devices/view/widgets/lights/light_interface_contols.dart';
|
import 'package:syncrow_app/features/devices/view/widgets/lights/light_interface_contols.dart';
|
||||||
import 'package:syncrow_app/features/devices/view/widgets/lights/light_interface_switch.dart';
|
import 'package:syncrow_app/features/devices/view/widgets/lights/light_interface_switch.dart';
|
||||||
import 'package:syncrow_app/features/devices/view/widgets/lights/light_interface_timer.dart';
|
import 'package:syncrow_app/features/devices/view/widgets/lights/light_interface_timer.dart';
|
||||||
|
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart';
|
||||||
|
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||||
|
import 'package:syncrow_app/utils/resource_manager/font_manager.dart';
|
||||||
|
|
||||||
class LightInterface extends StatelessWidget {
|
class LightInterface extends StatelessWidget {
|
||||||
const LightInterface({super.key, required this.light});
|
const LightInterface({super.key, required this.light});
|
||||||
@ -15,7 +19,26 @@ class LightInterface extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return BlocBuilder<DevicesCubit, DevicesState>(
|
return BlocBuilder<DevicesCubit, DevicesState>(
|
||||||
builder: (context, state) {
|
builder: (context, state) {
|
||||||
return Padding(
|
return AnnotatedRegion(
|
||||||
|
value: SystemUiOverlayStyle(
|
||||||
|
statusBarColor: ColorsManager.primaryColor.withOpacity(0.5),
|
||||||
|
statusBarIconBrightness: Brightness.light,
|
||||||
|
),
|
||||||
|
child: SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
|
backgroundColor: ColorsManager.backgroundColor,
|
||||||
|
extendBodyBehindAppBar: true,
|
||||||
|
extendBody: true,
|
||||||
|
appBar: AppBar(
|
||||||
|
backgroundColor: Colors.transparent,
|
||||||
|
centerTitle: true,
|
||||||
|
title: BodyLarge(
|
||||||
|
text: light.name ?? "",
|
||||||
|
fontColor: ColorsManager.primaryColor,
|
||||||
|
fontWeight: FontsManager.bold,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
body: Padding(
|
||||||
padding: const EdgeInsets.only(top: 70, right: 20, left: 20),
|
padding: const EdgeInsets.only(top: 70, right: 20, left: 20),
|
||||||
child: SingleChildScrollView(
|
child: SingleChildScrollView(
|
||||||
child: Column(
|
child: Column(
|
||||||
@ -27,6 +50,9 @@ class LightInterface extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
|
import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart';
|
||||||
import 'package:syncrow_app/features/devices/model/device_model.dart';
|
import 'package:syncrow_app/features/devices/model/device_model.dart';
|
||||||
import 'package:syncrow_app/features/devices/view/widgets/ACs/ac_interface.dart';
|
import 'package:syncrow_app/features/devices/view/widgets/ACs/ac_interface.dart';
|
||||||
import 'package:syncrow_app/features/devices/view/widgets/lights/light_interface.dart';
|
import 'package:syncrow_app/features/devices/view/widgets/lights/light_interface.dart';
|
||||||
@ -30,7 +32,10 @@ class RoomPageSwitch extends StatelessWidget {
|
|||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
CustomPageRoute(
|
CustomPageRoute(
|
||||||
builder: (context) => AcInterface(deviceModel: device),
|
builder: (context) => BlocProvider(
|
||||||
|
create: (context) => DevicesCubit(),
|
||||||
|
child: AcInterface(deviceModel: device),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
@ -51,17 +56,23 @@ class RoomPageSwitch extends StatelessWidget {
|
|||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
CustomPageRoute(
|
CustomPageRoute(
|
||||||
builder: (context) => LightInterface(light: device),
|
builder: (context) => BlocProvider(
|
||||||
|
create: (context) => DevicesCubit(),
|
||||||
|
child: LightInterface(light: device),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
case DeviceType.ThreeGang:
|
case DeviceType.ThreeGang:
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
CustomPageRoute(
|
CustomPageRoute(
|
||||||
builder: (context) => ThreeGangInterface(
|
builder: (context) => BlocProvider(
|
||||||
|
create: (context) => DevicesCubit(),
|
||||||
|
child: ThreeGangInterface(
|
||||||
gangSwitch: device,
|
gangSwitch: device,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@ -6,9 +6,11 @@ import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart';
|
|||||||
import 'package:syncrow_app/features/devices/model/device_model.dart';
|
import 'package:syncrow_app/features/devices/model/device_model.dart';
|
||||||
import 'package:syncrow_app/features/devices/view/widgets/ACs/category_view_app_bar.dart';
|
import 'package:syncrow_app/features/devices/view/widgets/ACs/category_view_app_bar.dart';
|
||||||
import 'package:syncrow_app/features/devices/view/widgets/three_gang/three_gang_interface_body.dart';
|
import 'package:syncrow_app/features/devices/view/widgets/three_gang/three_gang_interface_body.dart';
|
||||||
|
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart';
|
||||||
import 'package:syncrow_app/generated/assets.dart';
|
import 'package:syncrow_app/generated/assets.dart';
|
||||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||||
import 'package:syncrow_app/utils/resource_manager/constants.dart';
|
import 'package:syncrow_app/utils/resource_manager/constants.dart';
|
||||||
|
import 'package:syncrow_app/utils/resource_manager/font_manager.dart';
|
||||||
|
|
||||||
class ThreeGangInterface extends StatelessWidget {
|
class ThreeGangInterface extends StatelessWidget {
|
||||||
const ThreeGangInterface({super.key, required this.gangSwitch});
|
const ThreeGangInterface({super.key, required this.gangSwitch});
|
||||||
@ -26,10 +28,16 @@ class ThreeGangInterface extends StatelessWidget {
|
|||||||
backgroundColor: ColorsManager.backgroundColor,
|
backgroundColor: ColorsManager.backgroundColor,
|
||||||
extendBodyBehindAppBar: true,
|
extendBodyBehindAppBar: true,
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
appBar: const CategoryViewAppBar(),
|
appBar: AppBar(
|
||||||
body: BlocBuilder<HomeCubit, HomeState>(
|
backgroundColor: Colors.transparent,
|
||||||
builder: (context, state) {
|
centerTitle: true,
|
||||||
return Container(
|
title: BodyLarge(
|
||||||
|
text: gangSwitch.name ?? "",
|
||||||
|
fontColor: ColorsManager.primaryColor,
|
||||||
|
fontWeight: FontsManager.bold,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
body: Container(
|
||||||
width: MediaQuery.sizeOf(context).width,
|
width: MediaQuery.sizeOf(context).width,
|
||||||
height: MediaQuery.sizeOf(context).height,
|
height: MediaQuery.sizeOf(context).height,
|
||||||
decoration: const BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
@ -52,9 +60,8 @@ class ThreeGangInterface extends StatelessWidget {
|
|||||||
device: gangSwitch,
|
device: gangSwitch,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
),
|
||||||
},
|
),
|
||||||
)),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:syncrow_app/features/auth/bloc/auth_cubit.dart';
|
import 'package:syncrow_app/features/auth/bloc/auth_cubit.dart';
|
||||||
|
import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart';
|
||||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||||
import 'package:syncrow_app/utils/resource_manager/constants.dart';
|
import 'package:syncrow_app/utils/resource_manager/constants.dart';
|
||||||
import 'package:syncrow_app/utils/resource_manager/theme_manager.dart';
|
import 'package:syncrow_app/utils/resource_manager/theme_manager.dart';
|
||||||
@ -18,12 +19,8 @@ class MyApp extends StatelessWidget {
|
|||||||
MediaQuery.sizeOf(context).height * Constants.appBarHeightPercentage;
|
MediaQuery.sizeOf(context).height * Constants.appBarHeightPercentage;
|
||||||
Constants.bottomNavBarHeight = MediaQuery.sizeOf(context).height *
|
Constants.bottomNavBarHeight = MediaQuery.sizeOf(context).height *
|
||||||
Constants.bottomNavBarHeightPercentage;
|
Constants.bottomNavBarHeightPercentage;
|
||||||
return MultiBlocProvider(
|
return BlocProvider(
|
||||||
providers: [
|
|
||||||
BlocProvider(
|
|
||||||
create: (context) => AuthCubit(),
|
create: (context) => AuthCubit(),
|
||||||
),
|
|
||||||
],
|
|
||||||
child: MaterialApp(
|
child: MaterialApp(
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
color: ColorsManager.primaryColor,
|
color: ColorsManager.primaryColor,
|
||||||
|
|||||||
@ -25,13 +25,9 @@ class Router {
|
|||||||
return MaterialPageRoute(
|
return MaterialPageRoute(
|
||||||
builder: (_) => const SplashView(), settings: settings);
|
builder: (_) => const SplashView(), settings: settings);
|
||||||
|
|
||||||
case Routes.devicesRoute:
|
// case Routes.devicesRoute:
|
||||||
return MaterialPageRoute(
|
// return MaterialPageRoute(
|
||||||
builder: (_) => BlocProvider(
|
// builder: (_) => const DevicesView(), settings: settings);
|
||||||
create: (_) => DevicesCubit.getInstance(),
|
|
||||||
child: const DevicesView(),
|
|
||||||
),
|
|
||||||
settings: settings);
|
|
||||||
|
|
||||||
case Routes.profileRoute:
|
case Routes.profileRoute:
|
||||||
return MaterialPageRoute(
|
return MaterialPageRoute(
|
||||||
|
|||||||
@ -30,10 +30,12 @@ class ServerFailure extends Failure {
|
|||||||
|
|
||||||
case DioExceptionType.badResponse:
|
case DioExceptionType.badResponse:
|
||||||
{
|
{
|
||||||
var document = parser.parse(dioError.response!.data.toString());
|
// var document = parser.parse(dioError.response!.data.toString());
|
||||||
var message = document.body!.text;
|
// var message = document.body!.text;
|
||||||
return ServerFailure.fromResponse(
|
return ServerFailure.fromResponse(
|
||||||
dioError.response!.statusCode!, message);
|
dioError.response!.statusCode!, dioError.response!.data.toString()
|
||||||
|
// message
|
||||||
|
);
|
||||||
}
|
}
|
||||||
case DioExceptionType.cancel:
|
case DioExceptionType.cancel:
|
||||||
return ServerFailure("The request to ApiServer was canceled");
|
return ServerFailure("The request to ApiServer was canceled");
|
||||||
|
|||||||
Reference in New Issue
Block a user