Update: 2026-06-10 02:44:54

This commit is contained in:
Hamza-Ayed
2026-06-10 02:44:55 +03:00
parent 9bc7a31c94
commit a0473a8b0f
134 changed files with 1706 additions and 544 deletions

View File

@@ -0,0 +1,67 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:mobile_scanner/mobile_scanner.dart';
import 'package:siro_rider/constant/colors.dart';
import 'package:siro_rider/controller/home/profile/invites_rewards_controller.dart';
class QRScannerPage extends StatefulWidget {
@override
_QRScannerPageState createState() => _QRScannerPageState();
}
class _QRScannerPageState extends State<QRScannerPage> {
final InvitesRewardsController controller = Get.find<InvitesRewardsController>();
bool _isScanned = false;
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
appBar: AppBar(
backgroundColor: Colors.black,
iconTheme: const IconThemeData(color: Colors.white),
title: Text("Scan QR Code".tr, style: const TextStyle(color: Colors.white)),
),
body: Stack(
children: [
MobileScanner(
onDetect: (capture) {
if (_isScanned) return;
final List<Barcode> barcodes = capture.barcodes;
for (final barcode in barcodes) {
if (barcode.rawValue != null) {
setState(() => _isScanned = true);
Get.back(); // close scanner page
controller.processScannedQRCode(barcode.rawValue!);
break;
}
}
},
),
Center(
child: Container(
width: 250,
height: 250,
decoration: BoxDecoration(
border: Border.all(color: AppColor.primaryColor, width: 3),
borderRadius: BorderRadius.circular(12),
),
),
),
Positioned(
bottom: 50,
left: 0,
right: 0,
child: Center(
child: Text(
"Align QR Code within the frame".tr,
style: const TextStyle(color: Colors.white, fontSize: 16),
),
),
),
],
),
);
}
}