Untitled
unknown
plain_text
9 months ago
10 kB
7
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,
// ),
// ],
// )
],
),
),
),
),
);
}
}
Editor is loading...
Leave a Comment