import 'dart:async'; import 'package:flutter/material.dart'; import 'package:auto_size_text/auto_size_text.dart'; import 'package:anyway/structs/trip.dart'; List> locationActions = [ {'name': 'Toilet', 'action': () {}}, {'name': 'Food', 'action': () {}}, {'name': 'Surrounding landmarks', 'action': () {}}, ]; class CurrentTripLocations extends StatefulWidget { final Trip? trip; const CurrentTripLocations({super.key, this.trip}); @override State createState() => _CurrentTripLocationsState(); } class _CurrentTripLocationsState extends State { @override Widget build(BuildContext context) { // A horizontally scrolling list of buttons with predefined actions return SingleChildScrollView( scrollDirection: Axis.horizontal, padding: const EdgeInsets.symmetric(horizontal: 10.0, vertical: 10.0), child: Row( children: [ if (widget.trip != null) for (Map action in locationActions) Padding( padding: const EdgeInsets.symmetric(horizontal: 3.0), child: ElevatedButton( onPressed: action['action'], child: AutoSizeText( action['name'], maxLines: 1, minFontSize: 8, maxFontSize: 16, overflow: TextOverflow.ellipsis, ), ), ), ], ), ); } }