admin 26-5-2

This commit is contained in:
Hamza-Ayed
2026-05-02 15:16:30 +03:00
parent 5fc160e374
commit 0d9fab31bd
21 changed files with 1636 additions and 260 deletions

View File

@@ -9,39 +9,60 @@ import '../../constant/style.dart';
class MyElevatedButton extends StatelessWidget {
final String title;
final VoidCallback onPressed;
final Color kolor;
final int vibrateDuration;
final Color? kolor;
final IconData? icon;
const MyElevatedButton({
Key? key,
required this.title,
required this.onPressed,
this.kolor = AppColor.primaryColor,
this.vibrateDuration = 100,
this.kolor,
this.icon,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return ElevatedButton(
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(kolor),
return Container(
width: double.infinity,
height: 56,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16),
boxShadow: [
BoxShadow(
color: (kolor ?? AppColor.accent).withOpacity(0.3),
blurRadius: 12,
offset: const Offset(0, 4),
),
],
),
onPressed: () async {
// Handle haptic feedback for both iOS and Android
if (Platform.isIOS) {
HapticFeedback.selectionClick();
} else {
// Vibration.vibrate(duration: 100);
// Vibrate.vibrateWithPauses(pauses);
}
// Ensure the onPressed callback is called after haptic feedback
onPressed();
},
child: Text(
title,
textAlign: TextAlign.center,
style: AppStyle.title.copyWith(color: AppColor.secondaryColor),
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: kolor ?? AppColor.accent,
foregroundColor: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
),
elevation: 0,
),
onPressed: () {
HapticFeedback.lightImpact();
onPressed();
},
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
if (icon != null) ...[
Icon(icon, size: 20),
const SizedBox(width: 8),
],
Text(
title,
style: AppStyle.title.copyWith(color: Colors.white),
),
],
),
),
);
}
}