Implement theme management and settings screen; enhance compass dialog with location formats

This commit is contained in:
Janez T
2025-10-13 23:11:06 +02:00
parent dd859d3458
commit 363a75595e
6 changed files with 396 additions and 15 deletions

View File

@@ -8,9 +8,17 @@ import 'messages_tab.dart';
import 'contacts_tab.dart';
import 'map_tab.dart';
import 'map_management_screen.dart';
import 'settings_screen.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({super.key});
final Function(ThemeMode) onThemeChanged;
final ThemeMode currentTheme;
const HomeScreen({
super.key,
required this.onThemeChanged,
required this.currentTheme,
});
@override
State<HomeScreen> createState() => _HomeScreenState();
@@ -247,6 +255,28 @@ class _HomeScreenState extends State<HomeScreen> with SingleTickerProviderStateM
});
},
),
PopupMenuItem(
child: const Row(
children: [
Icon(Icons.settings),
SizedBox(width: 8),
Text('Settings'),
],
),
onTap: () {
Future.delayed(Duration.zero, () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => SettingsScreen(
onThemeChanged: widget.onThemeChanged,
currentTheme: widget.currentTheme,
),
),
);
});
},
),
],
),
],