97 lines
4.1 KiB
Dart
97 lines
4.1 KiB
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
|
|
: 100,
|
|
width: 200,
|
|
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),
|
|
],
|
|
),
|
|
],
|
|
),
|
|
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());
|
|
}
|