Untitled

 avatar
unknown
plain_text
16 days ago
10 kB
5
Indexable
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:hazard_monitor/components/appbar/r_appbar.dart';
import 'package:hazard_monitor/components/buttons/r_elevated_button.dart';
import 'package:hazard_monitor/controllers/auth_controller.dart';
import 'package:hazard_monitor/controllers/local_shelter/local_shelter_controller.dart';
import 'package:hazard_monitor/controllers/water_level/water_level_controller.dart';
import 'package:hazard_monitor/screens/citizens_forum_screen/first_aid_tips/first_aid_tips.dart';
import 'package:hazard_monitor/screens/citizens_forum_screen/locate_shelter_screen.dart';
import 'package:hazard_monitor/screens/citizens_forum_screen/citizens_forum_feed_screen.dart';
import 'package:hazard_monitor/screens/citizens_forum_screen/water_level_screen/water_level_screen.dart';
import 'package:hazard_monitor/theme/style/app_colors.dart';
import 'package:hazard_monitor/utils/app_assets_image.dart';

import '../../components/buttons/r_flat_box_icon_button.dart';
import '../../components/drawer/r_app_drawer.dart';
import '../../controllers/newsfeed/news_feed_controller.dart';
import '../../theme/style/app_text_styles.dart';
import '../../utils/custom_route_transation.dart';
import '../../utils/size_config.dart';
import '../../utils/translation/language_keys.dart';

// ignore: must_be_immutable
class CitizensForumScreen extends StatelessWidget {
  CitizensForumScreen({super.key});

  NewsFeedController newsFeedController = Get.find();
  LocalShelterController localShelterController = Get.find();
  WaterLevelController waterLevelController = Get.put(WaterLevelController());
  AuthController authController = Get.find();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: AppColors.colorFF,
      appBar: RAppBar(
        barTitle: AppConstants.citizensForum.tr,
      ),
      endDrawer: RAppDrawer(),
      body: GestureDetector(
        onTap: () {
          FocusScope.of(context).requestFocus(FocusNode());
        },
        child: Container(
          width: SizeConfig.screenWidth,
          height: SizeConfig.screenHeight,
          padding: const EdgeInsets.only(left: 20, right: 20),
          child: SingleChildScrollView(
            physics: const AlwaysScrollableScrollPhysics(),
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                /// Emergency services --------------------------

                Container(
                  margin: const EdgeInsets.only(top: 10, bottom: 15),
                  child: Text(
                    AppConstants.emergencyServices.tr,
                    style: AppTextStyles.bold16,
                    textAlign: TextAlign.center,
                  ),
                ),
                Wrap(
                  spacing: 5,
                  runSpacing: 15,
                  children: [
                    RFlatBoxIconButton(
                      onPressed: () {
                        localShelterController.launchPhone(
                            number: localShelterController
                                .emergencyNumber.value!.fire);
                      },
                      image: AppAssetsImages.fireRescue,
                      label: AppConstants.fireRescue.tr,
                    ),
                    RFlatBoxIconButton(
                      onPressed: () {
                        localShelterController.launchPhone(
                            number: localShelterController
                                .emergencyNumber.value!.hospital);
                      },
                      image: AppAssetsImages.hospital,
                      label: AppConstants.hospital.tr,
                    ),
                    RFlatBoxIconButton(
                      onPressed: () {
                        localShelterController.launchPhone(
                            number: localShelterController
                                .emergencyNumber.value!.police);
                      },
                      image: AppAssetsImages.police,
                      label: AppConstants.police.tr,
                    ),
                    RFlatBoxIconButton(
                      onPressed: () {
                        localShelterController.launchPhone(
                            number: localShelterController
                                .emergencyNumber.value!.disaster);
                      },
                      image: AppAssetsImages.disasterRecovery,
                      label: AppConstants.disasterRecovery.tr,
                    ),
                    RFlatBoxIconButton(
                      onPressed: () {
                        localShelterController.launchPhone(
                            number: localShelterController
                                .emergencyNumber.value!.wildLife);
                      },
                      image: AppAssetsImages.wildlife,
                      label: AppConstants.wildlifeConservation.tr,
                    ),
                  ],
                ),

                /// Tips & shelter -----------------------------------------
                Container(
                  margin: const EdgeInsets.only(top: 25, bottom: 15),
                  child: Text(
                    AppConstants.awarenessHelpfulTips.tr,
                    style: AppTextStyles.bold16,
                    textAlign: TextAlign.center,
                  ),
                ),
                Wrap(
                  spacing: 5,
                  children: [
                    RFlatBoxIconButton(
                      onPressed: () {
                        localShelterController.getFirstAidTipData();
                        Navigator.push(context,
                            SlideLeftRoute(page: FirstAidTipsScreen()));
                      },
                      image: AppAssetsImages.firstAidTips,
                      label: AppConstants.firstAidTips.tr,
                    ),
                    RFlatBoxIconButton(
                      onPressed: () {
                        authController.checkLocationPermission(
                          onPermissionGranted: () {
                            localShelterController.getLocalShelterData();
                            Navigator.push(context, SlideLeftRoute(page: LocateShelterScreen()));
                          }
                        );
                        // localShelterController.getLocalShelterData();
                        // Navigator.push(context, SlideLeftRoute(page: LocateShelterScreen()));
                      },
                      image: AppAssetsImages.locateNearestShelter,
                      label: AppConstants.locateNearestShelter.tr,
                    ),
                    RFlatBoxIconButton(
                      onPressed: () {
                        authController.checkLocationPermission(
                          onPermissionGranted: () {
                            waterLevelController.getWaterLevelListData();
                            Navigator.push(context, SlideLeftRoute(page: WaterLevelScreen()));
                          }
                        );
                        // waterLevelController.getWaterLevelListData();
                        // Navigator.push(context, SlideLeftRoute(page: WaterLevelScreen()));
                      },
                      image: AppAssetsImages.calculateWaterLevel,
                      label: AppConstants.calculateWaterLevel.tr,
                    ),
                  ],
                ),

                /// News feed -----------------------------------------

                const SizedBox(
                  height: 30,
                ),
                RElevatedIconButtonNew(
                  onPressed: () {
                    authController.checkLocationPermission(
                      onPermissionGranted: () {
                        newsFeedController.getNewsFeedData();
                        Navigator.push(context, SlideLeftRoute(page: const CitizensForumFeedScreen()));
                      }
                    );
                    // newsFeedController.getNewsFeedData();
                    // Navigator.push(context, SlideLeftRoute(page: const CitizensForumFeedScreen()));
                  },
                  label: AppConstants.newsFeed.tr,
                  isFullWidth: true,
                  sizedBoxWidth: 12,
                  isIcon: true,
                  icondata: const Icon(
                    Icons.newspaper_rounded,
                    size: 25,
                    color: AppColors.colorFF,
                  ),
                )
                // Container(
                //   margin: const EdgeInsets.only(top: 20, bottom: 15),
                //   child: Text(
                //     AppConstants.newsFeed.tr,
                //     style: AppTextStyles.bold16,
                //     textAlign: TextAlign.center,
                //   ),
                // ),
                // Wrap(
                //   spacing: 5,
                //   children: [
                //     RFlatBoxIconButton(
                //       onPressed: (){
                //         newsFeedController.getNewsFeedData();
                //         Navigator.push( context, SlideLeftRoute(page: const CitizensForumFeedScreen()));
                //       },
                //       image: AppAssetsImages.emergencyServices,
                //       label: AppConstants.newsFeed.tr,
                //   ),

                //   RFlatBoxIconButton(
                //       onPressed: (){
                //         newsFeedController.getNewsFeedData(isOwnFeed: true);
                //         Navigator.push( context, SlideLeftRoute(page: const CitizensForumFeedScreen()));
                //       },
                //       image: AppAssetsImages.firstAidTips,
                //       label: AppConstants.myUploads.tr,
                //   ),

                //   ],
                // )
              ],
            ),
          ),
        ),
      ),
    );
  }
}
Leave a Comment