Travel Widget¶
Questa documentazione descrive i widget principali utilizzati per gestire la ricerca e la visualizzazione dei risultati di viaggio. I widget inclusi sono TravelSearchForm e TravelSearchResult.
TravelSearchForm Widget¶
Il TravelSearchForm è un widget StatefulWidget utilizzato per consentire agli utenti di cercare viaggi specificando dettagli come il numero di posti, la località di partenza e arrivo, la data e gli orari.
Definizione della classe¶
class TravelSearchForm extends StatefulWidget {
final Function(int seats, AdamLocation departure, AdamLocation arrival, DateTime selectedDate, TimeOfDay selectedTime, TimeOfDay selectedArrivalTime)
onResult;
const TravelSearchForm({super.key, required this.onResult});
....
Costruttore¶
onResult (Function): Una funzione callback che riceve i seguenti parametri:
seats (int): il numero di posti selezionati.
departure (AdamLocation): la località di partenza.
arrival (AdamLocation): la località di arrivo.
selectedDate (DateTime): la data selezionata.
selectedTime (TimeOfDay): l’orario di partenza selezionato.
selectedArrivalTime (TimeOfDay): l’orario di arrivo selezionato.
Esempi di utilizzo¶
L’esempio sotto mostra una form di ricerca viaggio.
TravelSearchForm(
onResult: (seats, departure, arrival, selectedDate, selectedTime, selectedArrivalTime) {
// Gestisci i risultati della ricerca
},
);
TravelSearchResult Widget¶
Il TravelSearchResult è un widget StatefulWidget utilizzato per visualizzare i risultati della ricerca di viaggio. Utilizza un’istanza di TravelResultViewModel per rappresentare i dettagli del viaggio.
Definizione della classe¶
class TravelSearchResult extends StatefulWidget {
final Function() onTap;
final TravelResultViewModel travelResult;
const TravelSearchResult({super.key, required this.travelResult, required this.onTap});
Costruttore¶
onTap (Function): funzione callback eseguita quando il widget viene premuto.
travelResult (TravelResultViewModel): un’istanza di TravelResultViewModel che rappresenta i dettagli di un viaggio. Contiene informazioni come l’owner, i posti disponibili, la distanza, e gli orari di partenza e arrivo.
Esempi di utilizzo¶
L’esempio sotto mostra una card di result relativa ad un viaggio.
TravelSearchResult(
onTap: () => print('Result tapped'),
travelResult: TravelResultViewModel(
owner: "Mario Rossi",
avatarUri: null,
availableSeats: 4,
showFrequency: true,
from: "Fiumicio",
to: "Roma",
fromTime: "07:30",
toTime: "08:30",
duration: "1:00",
fromDistance: 2,
toDistance: 3))