import 'package:flutter/material.dart'; import 'package:anyway/structs/landmark.dart'; import 'package:anyway/modules/map_chooser.dart'; class StepBetweenLandmarks extends StatefulWidget { final Landmark current; final Landmark next; const StepBetweenLandmarks({ super.key, required this.current, required this.next }); @override State createState() => _StepBetweenLandmarksState(); } class _StepBetweenLandmarksState extends State { @override Widget build(BuildContext context) { int? time = widget.current.tripTime?.inMinutes; // since landmarks might have been marked as visited, the next landmark might not be the immediate next in the list // => the precomputed trip time is not valid anymore if (widget.current.next != widget.next) { time = null; } // round 0 travel time to 1 minute if (time != null && time < 1) { time = 1; } return Container( margin: const EdgeInsets.all(10), padding: const EdgeInsets.all(10), decoration: const BoxDecoration( border: Border( left: BorderSide(width: 3.0, color: Colors.black), ), ), child: Row( children: [ Column( children: [ const Icon(Icons.directions_walk), Text( time == null ? "" : "$time min", style: const TextStyle(fontSize: 10) ), ], ), const Spacer(), ElevatedButton.icon( onPressed: () async { showMapChooser(context, widget.current, widget.next); }, icon: const Icon(Icons.directions), label: const Text("Directions"), ) ], ), ); } }