mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2025-07-17 02:25:16 +00:00

Update the condition to check for the presence of spaces in HomeCubit instance before displaying the DefaultAppBar component. This improves readability and maintainability of the code.
71 lines
2.6 KiB
Dart
71 lines
2.6 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter/services.dart';
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
|
|
import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart';
|
|
import 'package:syncrow_app/features/app_layout/view/widgets/app_body.dart';
|
|
import 'package:syncrow_app/features/app_layout/view/widgets/default_app_bar.dart';
|
|
import 'package:syncrow_app/features/app_layout/view/widgets/default_nav_bar.dart';
|
|
import 'package:syncrow_app/navigation/routing_constants.dart';
|
|
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
|
|
|
class AppLayout extends StatelessWidget {
|
|
const AppLayout({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return BlocProvider(
|
|
create: (context) => HomeCubit.getInstance(),
|
|
child: BlocConsumer<HomeCubit, HomeState>(
|
|
listener: (context, state) {
|
|
if (state is GetSpacesError) {
|
|
ScaffoldMessenger.of(context).showSnackBar(
|
|
SnackBar(
|
|
content: Text(state.errMessage),
|
|
),
|
|
);
|
|
Navigator.of(context)
|
|
.popUntil((route) => route.settings.name == Routes.authLogin);
|
|
}
|
|
},
|
|
builder: (context, state) {
|
|
return AnnotatedRegion(
|
|
value: SystemUiOverlayStyle(
|
|
statusBarColor: ColorsManager.primaryColor.withOpacity(0.5),
|
|
statusBarIconBrightness: Brightness.light,
|
|
),
|
|
child: SafeArea(
|
|
child: BlocBuilder<HomeCubit, HomeState>(
|
|
builder: (context, state) {
|
|
return Scaffold(
|
|
backgroundColor: ColorsManager.backgroundColor,
|
|
extendBodyBehindAppBar: true,
|
|
extendBody: true,
|
|
appBar: HomeCubit.getInstance().spaces != null
|
|
? const DefaultAppBar()
|
|
: null,
|
|
body: const AppBody(),
|
|
bottomNavigationBar: const DefaultNavBar(),
|
|
// floatingActionButton: FloatingActionButton(
|
|
// onPressed: () {
|
|
// Navigator.push(
|
|
// context,
|
|
// CustomPageRoute(
|
|
// builder: (context) =>
|
|
// const ThreeGangSwitchesView(),
|
|
// ),
|
|
// );
|
|
// },
|
|
// child: const Icon(Icons.arrow_forward_ios_sharp),
|
|
// ),
|
|
);
|
|
},
|
|
),
|
|
),
|
|
);
|
|
},
|
|
),
|
|
);
|
|
}
|
|
}
|