diff --git a/lib/screens/ticket_player.dart b/lib/screens/ticket_player.dart index ddf780c..5521321 100644 --- a/lib/screens/ticket_player.dart +++ b/lib/screens/ticket_player.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:camera/camera.dart'; import 'package:ua_app_secu/controllers/entrance.dart'; import 'package:ua_app_secu/models/entrance_player.dart'; @@ -14,6 +15,25 @@ class PlayerTicket extends StatefulWidget { class _PlayerTicketState extends State { EntranceController controller = Get.find(); + late CameraController _camController; + bool _isFlashlightOn = false; + + @override + void initState() { + super.initState(); + availableCameras().then((value) async { + _camController = CameraController(value[0], ResolutionPreset.low, enableAudio: false); + await _camController.initialize(); + await _camController.setFlashMode(FlashMode.off); + _isFlashlightOn = false; + }); + } + + @override + void dispose() { + _camController.dispose(); + super.dispose(); + } @override Widget build(BuildContext context) { @@ -24,6 +44,7 @@ class _PlayerTicketState extends State { children: [ // Back icon Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ IconButton( icon: const Icon(Icons.arrow_back_rounded), @@ -31,6 +52,22 @@ class _PlayerTicketState extends State { controller.changePage(0); }, ), + IconButton( + icon: Icon(_isFlashlightOn ? Icons.flashlight_off_rounded : Icons.flashlight_on_rounded), + onPressed: () { + setState(() { + if(_camController.value.isInitialized) { + if(_camController.value.flashMode != FlashMode.torch) { + _camController.setFlashMode(FlashMode.torch); + _isFlashlightOn = true; + } else{ + _camController.setFlashMode(FlashMode.off); + _isFlashlightOn = false; + } + } + }); + }, + ), ], ), Column( @@ -113,12 +150,6 @@ class _PlayerTicketState extends State { }, child: const Text('SCANNER UN AUTRE BILLET'), ), - // ElevatedButton( - // onPressed: () { - // controller.changePage(0); - // }, - // child: const Text('VALIDER'), - // ), ], ), ], diff --git a/pubspec.yaml b/pubspec.yaml index f9d14ce..ba131ce 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -42,6 +42,7 @@ dependencies: flutter_dotenv: ^5.0.2 get_storage: ^2.0.3 flutter_native_splash: ^2.2.15 + camera: ^0.10.5+5 dev_dependencies: flutter_test: