Files
wetterApp/lib/screens/locations.dart
T
2022-09-05 11:59:52 +02:00

57 lines
1.6 KiB
Dart

import 'package:flutter/material.dart';
import 'package:wetter/components/locations/add_location_form.dart';
import 'package:wetter/components/locations/manage_single_location.dart';
import 'package:wetter/services/user_preferences.dart';
class Locations extends StatefulWidget {
const Locations({super.key});
@override
State<Locations> createState() => _LocationsState();
}
class _LocationsState extends State<Locations> {
List<String> locations = [];
@override
void initState() {
locations = UserPreferences.getSavedLocations();
super.initState();
}
void saveNewLocation(String name, double lat, double lon) {
setState(() {
locations = UserPreferences.saveNewLocation(name, lat, lon);
});
}
void deleteLocation(String name) {
setState(() {
locations = UserPreferences.deleteLocation(name);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Locations'),
),
body: Padding(
padding: const EdgeInsets.all(20),
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
for (String name in locations)
ManageSingleLocation(name: name, delete: deleteLocation),
...[
Expanded(
child: AddLocationsForm(
saveNewLocation: saveNewLocation,
savedLocations: locations),
)
],
]))));
}
}