import 'package:flutter/material.dart'; import 'package:stadtbote/content_views/vhs_map_page.dart'; import 'package:stadtbote/model/job.dart'; import 'package:stadtbote/model/job_tour.dart'; import 'package:stadtbote/popups/map_popup.dart'; import 'package:stadtbote/tools/app_localizations.dart'; import 'package:stadtbote/tools/util.dart'; Future showJobMapPopup( BuildContext context, Job job, { JobTour? currentTour, }) async { final mapUrl = job.mapUrl?.trim(); if (mapUrl != null && mapUrl.isNotEmpty) { final uri = Uri.tryParse(mapUrl); if (uri == null) { await showAlertDialog('error'.tr, 'Die Kartenadresse ist ungültig.'); return; } await Navigator.of( context, ).push(MaterialPageRoute(builder: (_) => VhsMapPage(uri: uri))); return; } final tours = job.tours; final tour = currentTour ?? (tours.isNotEmpty ? tours.first : null); if (tour?.pos == null) { await showAlertDialog('information'.tr, 'no_position'.tr); return; } await showMapPopup(context, tour!, tours); }