// main.dart import 'package:flutter/material.dart'; import 'pages/bookmarks_page.dart'; import 'pages/collections_page.dart'; import 'service/storage.dart'; import 'service/share_intent_service.dart'; import 'theme.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await Storage.initialize(); runApp(const MapsBookmarks()); } class MapsBookmarks extends StatefulWidget { const MapsBookmarks({super.key}); @override State createState() => _MapsBookmarksState(); } class _MapsBookmarksState extends State with WidgetsBindingObserver { final ShareIntentService _shareIntentService = ShareIntentService(); final GlobalKey _navigatorKey = GlobalKey(); @override void initState() { super.initState(); WidgetsBinding.instance.addObserver(this); // Check for shared content on app start _checkForSharedContent(); } @override void dispose() { WidgetsBinding.instance.removeObserver(this); super.dispose(); } @override void didChangeAppLifecycleState(AppLifecycleState state) { if (state == AppLifecycleState.resumed) { _checkForSharedContent(); } } Future _checkForSharedContent() async { final sharedText = await _shareIntentService.getSharedMapsLink(); if (sharedText.isNotEmpty && mounted) { _handleSharedMapsLink(sharedText); } } void _handleSharedMapsLink(String sharedText) { //TODO: implement } @override Widget build(BuildContext context) { return MaterialApp( navigatorKey: _navigatorKey, theme: lightTheme, darkTheme: darkTheme, initialRoute: CollectionsPage.routeName, routes: { CollectionsPage.routeName: (context) => const CollectionsPage(), BookmarksPage.routeName: (context) => const BookmarksPage(), }, ); } }