import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:mileograph_flutter/components/calculator/route_summary_widget.dart'; import 'package:mileograph_flutter/objects/objects.dart'; class CalculatorDetailsPage extends StatelessWidget { const CalculatorDetailsPage({ super.key, required this.result, }); final Object? result; @override Widget build(BuildContext context) { final parsed = result is RouteResult ? result as RouteResult : null; if (parsed == null) { return Padding( padding: const EdgeInsets.all(16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ TextButton.icon( onPressed: () => context.pop(), icon: const Icon(Icons.arrow_back), label: const Text('Back'), ), const SizedBox(height: 12), const Text( 'No route details available.', ), ], ), ); } return Padding( padding: const EdgeInsets.all(16.0), child: RouteDetailsView( route: parsed.calculatedRoute, costs: parsed.costs, onBack: () => context.pop(), ), ); } }