Files
tripz/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart
Hamza Aleghwairyeen 874be94864 3/31/1
2024-03-31 02:24:27 +03:00

133 lines
5.5 KiB
Dart

import 'package:SEFER/controller/functions/location_controller.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../../../constant/colors.dart';
import '../../../../constant/style.dart';
import '../../../../controller/home/captin/map_driver_controller.dart';
import '../../../widgets/elevated_btn.dart';
GetBuilder<MapDriverController> driverEndRideBar() {
return GetBuilder<MapDriverController>(
builder: (mapDriverController) => mapDriverController.isRideStarted
? Positioned(
left: 5,
top: 5,
right: 5,
child: Container(
decoration: AppStyle.boxDecoration,
height: mapDriverController.remainingTimeTimerRideBegin < 60
? mapDriverController.driverEndPage = 160
: 120,
width: 240,
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Column(
children: [
const Icon(Icons.social_distance),
Text(
'${mapDriverController.distance} ${'KM'.tr}',
style: AppStyle.title,
),
],
),
Column(
children: [
const Icon(Icons.timelapse),
Text(
mapDriverController.hours > 1
? '${'${'Your Ride Duration is '.tr}${mapDriverController.hours}${' H and'.tr}'} ${mapDriverController.minutes} m'
: '${'Your Ride Duration is '.tr} ${mapDriverController.minutes} ${'m'.tr}',
style: AppStyle.title),
],
),
Column(
children: [
const Icon(Icons.money_sharp),
Text(
'${mapDriverController.paymentAmount} ${'\$'.tr}',
style: AppStyle.title),
],
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Text(
'Timer is ${mapDriverController.rideTimerFromBegin.toStringAsFixed(0)}'),
Text(
'Distance is ${mapDriverController.recentDistanceToDash.toStringAsFixed(0)}'),
Text(
'Price is ${mapDriverController.price.toStringAsFixed(0)}')
],
),
mapDriverController.remainingTimeTimerRideBegin < 60
? Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
MyElevatedButton(
title: 'End Ride'.tr,
onPressed: () {
mapDriverController.finishRideFromDriver();
},
kolor: AppColor.redColor,
),
],
)
: const SizedBox(),
Stack(
children: [
LinearProgressIndicator(
backgroundColor: AppColor.accentColor,
color:
mapDriverController.remainingTimeTimerRideBegin <
60
? AppColor.redColor
: AppColor.greenColor,
minHeight: 40,
borderRadius: BorderRadius.circular(15),
value: mapDriverController.progressTimerRideBegin
.toDouble(),
),
Center(
child: Text(
mapDriverController.stringRemainingTimeRideBegin,
style: AppStyle.title,
),
)
],
),
],
),
))
: const SizedBox());
}
GetBuilder<MapDriverController> speedCircle() {
return GetBuilder<MapDriverController>(
builder: (mapDriverController) => mapDriverController.isRideStarted
? Positioned(
// left: 5,
bottom: 25,
right: 100,
child: Container(
decoration: BoxDecoration(
shape: BoxShape.circle,
color: AppColor.secondaryColor,
border: Border.all(width: 3, color: AppColor.redColor)),
height: 60,
width: 60,
child: Center(
child: Text(
mapDriverController.speed.toStringAsFixed(0),
style: AppStyle.number,
),
),
))
: const SizedBox());
}