import 'package:driver/themes/app_them_data.dart'; import 'package:driver/themes/theme_controller.dart'; import 'package:flutter/material.dart'; import 'package:geolocator/geolocator.dart'; import 'package:get/get.dart'; class PermissionDialog extends StatelessWidget { const PermissionDialog({super.key}); @override Widget build(BuildContext context) { final themeController = Get.find(); final isDark = themeController.isDark.value; return Dialog( shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30)), insetPadding: const EdgeInsets.all(30), clipBehavior: Clip.antiAliasWithSaveLayer, child: Padding( padding: const EdgeInsets.all(30), child: SizedBox( width: 500, child: Column(mainAxisSize: MainAxisSize.min, children: [ Icon(Icons.add_location_alt_rounded, color: Theme.of(context).primaryColor, size: 100), const SizedBox(height: 20), const Text( 'You denied location permission forever. Please allow location permission from your app settings and receive more accurate delivery.', textAlign: TextAlign.center, style: TextStyle(fontSize: 18), ), const SizedBox(height: 20), Row(children: [ Expanded( child: TextButton( style: TextButton.styleFrom( shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30), side: BorderSide(width: 2, color: Theme.of(context).primaryColor)), minimumSize: const Size(1, 50), ), child: const Text('close'), onPressed: () => Navigator.pop(context), ), ), const SizedBox(width: 10), Expanded( child: ConstrainedBox( constraints: const BoxConstraints(minWidth: double.infinity), child: ElevatedButton( style: ElevatedButton.styleFrom( backgroundColor: AppThemeData.primary300, padding: const EdgeInsets.only(top: 12, bottom: 12), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(25.0), side: BorderSide( color: AppThemeData.primary300, ), ), ), child: Text( 'settings', style: TextStyle( fontSize: 20, fontWeight: FontWeight.bold, color: isDark ? Colors.black : Colors.white, ), ), onPressed: () async { await Geolocator.openAppSettings(); Get.back(); }, ), ), ) ]), ]), ), ), ); } }