chore(wip): upgrade dependencies, begin refactor
This commit is contained in:
70
frontend/lib/old/modules/step_between_landmarks.dart
Normal file
70
frontend/lib/old/modules/step_between_landmarks.dart
Normal file
@@ -0,0 +1,70 @@
|
||||
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<StepBetweenLandmarks> createState() => _StepBetweenLandmarksState();
|
||||
}
|
||||
|
||||
class _StepBetweenLandmarksState extends State<StepBetweenLandmarks> {
|
||||
@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"),
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user