Unterschriftenerfassung dauerhaft auf Deutsch anzeigen, lokale VHS-Buildkonfiguration und Regressionstests ergänzen sowie Version auf 357.0.0+357 anheben.
35 lines
1.0 KiB
Dart
35 lines
1.0 KiB
Dart
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<void> 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<void>(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);
|
|
}
|