Files
rog_app/lib/pages/home/home_page.dart

76 lines
2.0 KiB
Dart

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:rogapp/routes/app_pages.dart';
import 'package:rogapp/utils/string_values.dart';
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
bool _isLocationServiceEnabled = true;
@override
void initState() {
super.initState();
_checkLocationService();
}
Future<void> _checkLocationService() async {
final serviceEnabled = await Permission.location.serviceStatus.isEnabled;
setState(() {
_isLocationServiceEnabled = serviceEnabled;
});
}
void _showLocationDisabledDialog() {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text('location_disabled_title'.tr),
content: Text('location_disabled_message'.tr),
actions: [
TextButton(
child: Text('ok'.tr),
onPressed: () => Navigator.of(context).pop(),
),
TextButton(
child: Text('open_settings'.tr),
onPressed: () {
Navigator.of(context).pop();
openAppSettings();
},
),
],
);
},
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('home'.tr),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('welcome'.tr),
SizedBox(height: 20),
ElevatedButton(
onPressed: _isLocationServiceEnabled
? () => Get.offNamed(AppPages.INDEX)
: () => _showLocationDisabledDialog(),
child: Text('start_app'.tr),
),
],
),
),
);
}
}