import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_app/features/devices/view/widgets/lights/lights_list.dart'; import '../../../../../generated/assets.dart'; import '../../../../../utils/resource_manager/color_manager.dart'; import '../../../../app_layout/view/widgets/default_app_bar.dart'; import '../../../../app_layout/view/widgets/default_nav_bar.dart'; import '../../../../shared_widgets/text_widgets/body_small.dart'; import '../../../bloc/devices_cubit.dart'; import '../../../bloc/lights/lights_cubit.dart'; import '../../../model/light_model.dart'; import '../universal_switch.dart'; class LightsView extends StatelessWidget { const LightsView({super.key}); @override Widget build(BuildContext context) { return BlocProvider( create: (context) => LightsCubit(), child: BlocBuilder( builder: (context, state) { List lights = []; for (var device in DevicesCubit.categories[1].devices) { if (device is LightModel) { lights.add(device); } } 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: const DefaultAppBar(), body: Container( width: MediaQuery.sizeOf(context).width, height: MediaQuery.sizeOf(context).height, decoration: const BoxDecoration( image: DecorationImage( image: AssetImage( Assets.imagesBackground, ), fit: BoxFit.cover, opacity: 0.4, ), ), child: Padding( padding: const EdgeInsets.only( top: 70, right: 15, left: 15, bottom: 80), child: SizedBox.expand( child: SingleChildScrollView( child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ const BodySmall(text: "All Lights"), UniversalSwitch( category: DevicesCubit.categories[1], ), LightsList(lights: lights), ], ), ), ), ), ), bottomNavigationBar: const DefaultNavBar(), ), ), ); }, ), ); } }