Compare commits

...

2 Commits

Author SHA1 Message Date
54c95a230b set kilometer in double 2025-01-09 23:27:22 +01:00
18d5c83181 add kilometer 2025-01-09 22:13:20 +01:00
4 changed files with 63 additions and 16 deletions

View File

@ -3,6 +3,7 @@ import 'package:shared_preferences/shared_preferences.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'dart:io'; import 'dart:io';
import '../pages/EditProfile.dart'; import '../pages/EditProfile.dart';
import '../pages/EditSettings.dart';
import '../pages/ListItemMenu.dart'; import '../pages/ListItemMenu.dart';
import 'alert.dart'; import 'alert.dart';
@ -105,7 +106,10 @@ class MyDrawer extends StatelessWidget with ShowAlertDialog {
leading: Icon(Icons.settings), leading: Icon(Icons.settings),
title: Text('Settings'), title: Text('Settings'),
onTap: () { onTap: () {
Navigator.pop(context); // Close the drawer Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (_) => EditSettings())); // Close the drawer
}, },
), ),
ListTile( ListTile(

View File

@ -7,7 +7,6 @@ import 'package:intl/intl.dart';
import 'dart:convert'; import 'dart:convert';
import 'dart:io'; import 'dart:io';
import '../classes/events.dart';
import '../classes/MyDrawer.dart'; import '../classes/MyDrawer.dart';
import '../main.dart'; import '../main.dart';
@ -21,8 +20,6 @@ void main() {
} }
class MyApp extends StatelessWidget { class MyApp extends StatelessWidget {
Events? events;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(

View File

@ -5,7 +5,6 @@ import 'package:shared_preferences/shared_preferences.dart';
import 'dart:convert'; import 'dart:convert';
import 'dart:io'; import 'dart:io';
import '../classes/events.dart';
import '../classes/MyDrawer.dart'; import '../classes/MyDrawer.dart';
import '../classes/alert.dart'; import '../classes/alert.dart';
@ -16,8 +15,6 @@ void main() {
} }
class MyApp extends StatelessWidget { class MyApp extends StatelessWidget {
Events? events;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(
@ -37,10 +34,27 @@ class EditSettings extends StatefulWidget {
class _EditProfileState extends State<EditSettings> class _EditProfileState extends State<EditSettings>
with ShowAlertDialog, ShowEventDialog { with ShowAlertDialog, ShowEventDialog {
TextEditingController inputUserName = TextEditingController(); TextEditingController inputUserName = TextEditingController();
int? kilometer;
Future<void> getParameter() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() {
var kilometer = prefs.getDouble("kilometer")?.toInt() ?? null;
});
}
Future<void> setParameter() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
if (kilometer != null) {
prefs.setDouble("kilometer", kilometer?.toDouble() ?? 50);
showAlertDialog(context, "Update", "Mise à jour des paramètres");
}
}
@override @override
void initState() { void initState() {
super.initState(); super.initState();
getParameter();
} }
@override @override
@ -59,14 +73,44 @@ class _EditProfileState extends State<EditSettings>
children: <Widget>[ children: <Widget>[
Padding( Padding(
padding: const EdgeInsets.only( padding: const EdgeInsets.only(
left: 15.0, right: 15.0, top: 15, bottom: 0), left: 15.0,
//padding: EdgeInsets.symmetric(horizontal: 15), right: 15.0,
child: TextFormField( top: 15.0,
controller: inputUserName, bottom: 0.0,
),
child: DropdownButtonFormField<int>(
decoration: InputDecoration( decoration: InputDecoration(
border: OutlineInputBorder(), border: OutlineInputBorder(),
labelText: 'Pseudo', labelText: 'Define kilometer',
hintText: 'Modifier le pseudo'), ),
value:
kilometer, // Set the initial selected value here, or leave as `null` if unselected.
items: [
DropdownMenuItem(
value: 5,
child: Text('5km'),
),
DropdownMenuItem(
value: 25,
child: Text('25km'),
),
DropdownMenuItem(
value: 50,
child: Text('50km'),
),
DropdownMenuItem(
value: 75,
child: Text('75km'),
),
DropdownMenuItem(
value: 100,
child: Text('100km'),
),
],
onChanged: (int? newValue) {
// Handle selection
kilometer = newValue;
},
), ),
), ),
SizedBox( SizedBox(

View File

@ -93,9 +93,11 @@ class _MyHomePageState extends State<ListItemMenu> {
print('No last known position available.'); print('No last known position available.');
} }
} }
SharedPreferences prefs = await SharedPreferences.getInstance();
if (position != null) { if (position != null) {
// Calculate the boundaries // Calculate the boundaries
double radiusInKm = 50; double radiusInKm = prefs.getDouble("kilometer") ?? 50;
double latDistance = radiusInKm / 111.0; double latDistance = radiusInKm / 111.0;
double lonDistance = double lonDistance =
radiusInKm / (111.0 * cos(position.latitude * pi / 180)); radiusInKm / (111.0 * cos(position.latitude * pi / 180));
@ -109,7 +111,7 @@ class _MyHomePageState extends State<ListItemMenu> {
"?min_lat=$minLat&max_lat=$maxLat" "?min_lat=$minLat&max_lat=$maxLat"
"&min_lon=$minLon&max_lon=$maxLon&current_datetime=${currentDatetime.toString()}"); "&min_lon=$minLon&max_lon=$maxLon&current_datetime=${currentDatetime.toString()}");
} }
SharedPreferences prefs = await SharedPreferences.getInstance();
var accessToken = prefs.getString("access_token") ?? ""; var accessToken = prefs.getString("access_token") ?? "";
if (accessToken.isNotEmpty) { if (accessToken.isNotEmpty) {