summaryrefslogtreecommitdiff
path: root/mobile/lib/routes.dart
diff options
context:
space:
mode:
authoromagdy7 <omar.professional8777@gmail.com>2023-12-20 19:40:11 +0200
committeromagdy7 <omar.professional8777@gmail.com>2023-12-20 19:40:11 +0200
commitb84fe9a9c4c18a3f4e957f76ead34403c4316f76 (patch)
tree14e4b37ae137ed538eaa14af4228c41033facac8 /mobile/lib/routes.dart
parent953b5ce3ad7e933c6f008202346fe5bf2985bf9e (diff)
downloadcarpool-b84fe9a9c4c18a3f4e957f76ead34403c4316f76.tar.xz
carpool-b84fe9a9c4c18a3f4e957f76ead34403c4316f76.zip
Added a simple Login and SignUp page for the web driver app
Diffstat (limited to 'mobile/lib/routes.dart')
-rw-r--r--mobile/lib/routes.dart99
1 files changed, 99 insertions, 0 deletions
diff --git a/mobile/lib/routes.dart b/mobile/lib/routes.dart
new file mode 100644
index 0000000..de5864c
--- /dev/null
+++ b/mobile/lib/routes.dart
@@ -0,0 +1,99 @@
+import 'package:flutter/material.dart';
+import 'cart.dart';
+import 'package:intl/intl.dart';
+
+class Route {
+ final String name;
+ final String startLocation;
+ final String endLocation;
+
+ Route(
+ {required this.name,
+ required this.startLocation,
+ required this.endLocation});
+}
+
+class RoutesPage extends StatelessWidget {
+ final List<Route> dummyRoutes = [
+ Route(
+ name: 'Morning Ride - Gate 3 to Abdu-Basha',
+ startLocation: 'Abassyia',
+ endLocation: 'Abdu-Basha Gate-3'),
+ Route(
+ name: 'Morning Ride - Abdu-Basha to 5th Settlement',
+ startLocation: 'Abdu-Basha',
+ endLocation: '5th Settlement'),
+ Route(
+ name: 'Afternoon Ride - Abdu-Basha to Gate 3',
+ startLocation: 'Hadayek Elkoba',
+ endLocation: 'Abdu-Basha Gate-6'),
+ ];
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: AppBar(title: const Text('Routes')),
+ body: ListView.builder(
+ itemCount: dummyRoutes.length,
+ itemBuilder: (BuildContext context, int index) {
+ final Route route = dummyRoutes[index];
+ return GestureDetector(
+ onTap: () {
+ DateTime now = DateTime.now();
+ String formattedDateTime =
+ DateFormat('EEEE dd/MM/yyyy hh:mm a').format(now);
+ Ride selectedRide = Ride(
+ name: route.name,
+ startLocation: route.startLocation,
+ endLocation: route.endLocation,
+ time: formattedDateTime,
+ );
+ Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) => CartPage(selectedRide: selectedRide),
+ ),
+ );
+ },
+ child: Card(
+ elevation: 3,
+ margin: const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12),
+ ),
+ child: ListTile(
+ title: Text(
+ route.name,
+ style: const TextStyle(
+ fontWeight: FontWeight.bold,
+ fontSize: 16,
+ ),
+ ),
+ subtitle: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Row(
+ children: [
+ const Icon(Icons.location_on, color: Colors.blue),
+ const SizedBox(width: 4),
+ Flexible(child: Text(route.startLocation)),
+ ],
+ ),
+ Row(
+ children: [
+ const Icon(Icons.arrow_forward, color: Colors.blue),
+ const SizedBox(width: 4),
+ Flexible(child: Text(route.endLocation)),
+ ],
+ ),
+ ],
+ ),
+ leading: const Icon(Icons.directions_car),
+ ),
+ ),
+ );
+ },
+ ),
+ );
+ }
+}