Untitled
import 'dart:async'; import 'dart:io'; import 'package:encrypt/encrypt.dart' as encrypt; import 'package:flutter/material.dart'; import 'package:local_auth/local_auth.dart'; import 'package:path_provider/path_provider.dart'; void main() { runApp(MOHAMEDVaultApp()); } class MOHAMEDVaultApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'MOHAMED Vault', theme: ThemeData(primarySwatch: Colors.blue), initialRoute: '/', routes: { '/': (context) => AuthenticationScreen(), '/vault': (context) => VaultScreen(), '/lock': (context) => LockScreen(), }, ); } } /// *Authentication Screen* class AuthenticationScreen extends StatefulWidget { @override _AuthenticationScreenState createState() => _AuthenticationScreenState(); } class _AuthenticationScreenState extends State<AuthenticationScreen> { final LocalAuthentication auth = LocalAuthentication(); Future<void> authenticate() async { try { bool authenticated = await auth.authenticate( localizedReason: 'Authenticate to access your vault', options: AuthenticationOptions(biometricOnly: true), ); if (authenticated) { Navigator.pushReplacementNamed(context, '/vault'); } } catch (e) { print('Error authenticating: $e'); } } @override void initState() { super.initState(); authenticate(); } @override Widget build(BuildContext context) { return Scaffold( body: Center(child: Text('Authenticating...')), ); } } /// *Vault Screen* class VaultScreen extends StatefulWidget { @override _VaultScreenState createState() => _VaultScreenState(); } class _VaultScreenState extends State<VaultScreen> {
Leave a Comment