This commit is contained in:
Hamza-Ayed
2023-09-17 18:42:51 +03:00
parent 2be93e8267
commit 5f402a0b65
17 changed files with 359 additions and 146 deletions

View File

@@ -20,35 +20,15 @@ GetBuilder<MapController> hexagonClipper() {
duration: const Duration(microseconds: 300),
height: 250,
width: 250,
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: AppColor.primaryColor.withOpacity(0.25),
blurRadius: 4,
spreadRadius: 2,
offset: const Offset(0, 4),
),
BoxShadow(
color: AppColor.accentColor.withOpacity(0.5),
offset: const Offset(-5, -5),
blurRadius: 5,
spreadRadius: 2,
),
BoxShadow(
color: AppColor.secondaryColor.withOpacity(0.2),
offset: const Offset(5, 5),
blurRadius: 5,
spreadRadius: 2,
),
],
gradient: const LinearGradient(
colors: [AppColor.greenColor, AppColor.secondaryColor],
begin: Alignment.topLeft,
end: Alignment.bottomCenter,
),
border: Border.all(),
color: AppColor.secondaryColor,
borderRadius: BorderRadius.circular(15)),
decoration: AppStyle.boxDecoration(),
// gradient: const LinearGradient(
// colors: [AppColor.greenColor, AppColor.secondaryColor],
// begin: Alignment.topLeft,
// end: Alignment.bottomCenter,
// ),
// border: Border.all(),
// color: AppColor.secondaryColor,
// borderRadius: BorderRadius.circular(15)),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,

View File

@@ -0,0 +1,44 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:ride/views/home/map_widget.dart/hexegone_clipper.dart';
import '../../../constant/style.dart';
import '../../../controller/home/map_page_controller.dart';
class DriverTimeArrivePassenger extends StatelessWidget {
const DriverTimeArrivePassenger({super.key});
@override
Widget build(BuildContext context) {
return GetBuilder<MapController>(
builder: (controller) {
return controller.remainingTime == 0
? Positioned.directional(
bottom: Get.height * .35,
end: Get.width * .05,
textDirection: Get.locale!.languageCode == 'ar'
? TextDirection.rtl
: TextDirection.ltr,
child: Stack(
alignment: Alignment.center,
children: [
Container(
decoration: AppStyle.boxDecoration(),
// width: 50,
// height: 50,
child: Padding(
padding: const EdgeInsetsDirectional.only(
start: 5, end: 5),
child: Text(
controller.duratioByPassenger.toString(),
style: AppStyle.title,
),
))
],
),
)
: const SizedBox();
},
);
}
}

View File

@@ -34,3 +34,19 @@ class HexagonClipper extends CustomClipper<Path> {
@override
bool shouldReclip(HexagonClipper oldClipper) => false;
}
class ArrowClipper extends CustomClipper<Path> {
@override
Path getClip(Size size) {
final path = Path();
path.moveTo(0, size.height / 2);
path.lineTo(size.width / 2, 0);
path.lineTo(size.width, size.height / 2);
path.lineTo(size.width / 2, size.height);
path.close();
return path;
}
@override
bool shouldReclip(ArrowClipper oldClipper) => false;
}

View File

@@ -32,23 +32,7 @@ class MapMenuWidget extends StatelessWidget {
opacity: 1, // Adjust the opacity value as needed
child: AnimatedContainer(
width: Get.width * .6,
decoration: const BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(12)),
color: AppColor.secondaryColor,
boxShadow: [
BoxShadow(
color: AppColor.accentColor,
offset: Offset(-3, -3),
blurRadius: 0,
spreadRadius: 0,
blurStyle: BlurStyle.outer),
BoxShadow(
color: AppColor.accentColor,
offset: Offset(3, 3),
blurRadius: 0,
spreadRadius: 0,
blurStyle: BlurStyle.outer)
]),
decoration: AppStyle.boxDecoration(),
transform: Matrix4.translationValues(
controller.heightMenu * .1, 1, 1),
curve: Curves.easeOutCubic,

View File

@@ -10,9 +10,9 @@ GetBuilder<MapController> timerForCancellTripFromPassenger() {
final isNearEnd =
controller.remainingTime <= 5; // Define a threshold for "near end"
return controller.shouldFetch == false
return controller.remainingTime > 0 && controller.remainingTime != 25
? Positioned(
bottom: Get.height * .3,
bottom: Get.height * .35,
left: Get.width * .05,
child: Stack(
alignment: Alignment.center,