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

View File

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

View File

@ -5,7 +5,6 @@ import 'package:shared_preferences/shared_preferences.dart';
import 'dart:convert';
import 'dart:io';
import '../classes/events.dart';
import '../classes/MyDrawer.dart';
import '../classes/alert.dart';
@ -16,8 +15,6 @@ void main() {
}
class MyApp extends StatelessWidget {
Events? events;
@override
Widget build(BuildContext context) {
return MaterialApp(
@ -37,10 +34,27 @@ class EditSettings extends StatefulWidget {
class _EditProfileState extends State<EditSettings>
with ShowAlertDialog, ShowEventDialog {
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
void initState() {
super.initState();
getParameter();
}
@override
@ -59,14 +73,44 @@ class _EditProfileState extends State<EditSettings>
children: <Widget>[
Padding(
padding: const EdgeInsets.only(
left: 15.0, right: 15.0, top: 15, bottom: 0),
//padding: EdgeInsets.symmetric(horizontal: 15),
child: TextFormField(
controller: inputUserName,
left: 15.0,
right: 15.0,
top: 15.0,
bottom: 0.0,
),
child: DropdownButtonFormField<int>(
decoration: InputDecoration(
border: OutlineInputBorder(),
labelText: 'Pseudo',
hintText: 'Modifier le pseudo'),
border: OutlineInputBorder(),
labelText: 'Define kilometer',
),
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(

View File

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