implemented RMV public transit module including trip search, station departures, and nearby stop lookup, added "Marianum Connect" API integration with bearer token authentication and auto-refresh logic, integrated geolocator for location-based station search, added persistent storage for favorite stations and recent trip queries, and implemented comprehensive UI for journey details, trip results, and disruption alerts
This commit is contained in:
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:persistent_bottom_nav_bar_v2/persistent_bottom_nav_bar_v2.dart';
|
||||
|
||||
import '../api/connect/rmv/rmv_models.dart';
|
||||
import '../api/marianumcloud/talk/room/get_room_response.dart';
|
||||
import '../main.dart';
|
||||
import '../model/account_data.dart';
|
||||
@@ -18,6 +19,11 @@ import '../view/pages/marianum_message/marianum_message_view.dart';
|
||||
import '../view/pages/more/feedback/feedback_dialog.dart';
|
||||
import '../view/pages/more/roomplan/roomplan.dart';
|
||||
import '../view/pages/more/share/qr_share_view.dart';
|
||||
import '../view/pages/rmv/disruptions/disruptions_view.dart';
|
||||
import '../view/pages/rmv/journey/journey_detail_view.dart';
|
||||
import '../view/pages/rmv/stations/station_detail_view.dart';
|
||||
import '../view/pages/rmv/trip_search/trip_detail_view.dart';
|
||||
import '../view/pages/rmv/trip_search/trip_results_view.dart';
|
||||
import '../view/pages/settings/modules_settings_page.dart';
|
||||
import '../view/pages/settings/settings.dart';
|
||||
import '../view/pages/share_intent/share_chat_picker.dart';
|
||||
@@ -106,6 +112,57 @@ class AppRoutes {
|
||||
pushScreen(context, withNavBar: false, screen: const Roomplan());
|
||||
}
|
||||
|
||||
static void openRmvDisruptions(BuildContext context) {
|
||||
pushScreen(context, withNavBar: false, screen: const DisruptionsView());
|
||||
}
|
||||
|
||||
static void openRmvStationDetail(BuildContext context, StopLocation station) {
|
||||
pushScreen(
|
||||
context,
|
||||
withNavBar: false,
|
||||
screen: StationDetailView(station: station),
|
||||
);
|
||||
}
|
||||
|
||||
static void openRmvJourneyDetail(
|
||||
BuildContext context,
|
||||
String journeyRef, {
|
||||
DateTime? date,
|
||||
}) {
|
||||
pushScreen(
|
||||
context,
|
||||
withNavBar: false,
|
||||
screen: JourneyDetailView(journeyRef: journeyRef, date: date),
|
||||
);
|
||||
}
|
||||
|
||||
static void openRmvTripResults(
|
||||
BuildContext context, {
|
||||
required StopLocation from,
|
||||
required StopLocation to,
|
||||
DateTime? when,
|
||||
bool byArrival = false,
|
||||
}) {
|
||||
pushScreen(
|
||||
context,
|
||||
withNavBar: false,
|
||||
screen: TripResultsView(
|
||||
from: from,
|
||||
to: to,
|
||||
when: when,
|
||||
byArrival: byArrival,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
static void openRmvTripDetail(BuildContext context, Trip trip) {
|
||||
pushScreen(
|
||||
context,
|
||||
withNavBar: false,
|
||||
screen: TripDetailView(trip: trip),
|
||||
);
|
||||
}
|
||||
|
||||
static void openShareTarget(BuildContext context, PendingShare share) {
|
||||
pushScreen(
|
||||
context,
|
||||
|
||||
Reference in New Issue
Block a user