welloo_sdk 0.0.62
welloo_sdk: ^0.0.62 copied to clipboard
Package de transaction Welloo
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:welloo_sdk/welloo_sdk.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// Load environment variables
try {
await dotenv.load(fileName: '.env');
} catch (e) {
debugPrint('⚠️ .env file not found. Please create one from .env.example');
}
runApp(const MainApp());
}
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Welloo SDK - Nouveau Système',
theme: ThemeData(
colorSchemeSeed: Colors.blue,
useMaterial3: true,
),
home: const DemoWello(),
);
}
}
class DemoWello extends StatefulWidget {
const DemoWello({super.key});
@override
State<DemoWello> createState() => _DemoWelloState();
}
class _DemoWelloState extends State<DemoWello> with WidgetsBindingObserver {
String get _accessToken => dotenv.env['ACCESS_TOKEN'] ?? '';
String get _refreshToken => dotenv.env['REFRESH_TOKEN'] ?? '';
@override
void initState() {
super.initState();
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
Future<void> _handleTransfer() async {
Navigator.of(context).push(
MaterialPageRoute(
builder: (_) => WellooTransfer(
accessToken: _accessToken,
refreshToken: _refreshToken,
waitResponse: (reponse) {
print(reponse);
},
onError: (error) {
print(error);
},
),
),
);
}
Future<void> _handleScanner() async {
Navigator.of(context).push(MaterialPageRoute(
builder: (_) => WellooScanQr(
accessToken: _accessToken,
refreshToken: _refreshToken,
waitResponse: (reponse) {
print(reponse);
},
onError: (error) {
print(error);
},
)));
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Welloo SDK - Nouveau Système'),
actions: [],
),
backgroundColor: Colors.white,
body: Center(
child: Padding(
padding: const EdgeInsets.all(20.0),
child: SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const SizedBox(height: 20),
ElevatedButton.icon(
onPressed: _handleTransfer,
icon: const Icon(Icons.account_balance_wallet),
label: const Text("Initier un Transfert"),
style: ElevatedButton.styleFrom(
minimumSize: const Size(250, 50),
backgroundColor: Colors.blue,
foregroundColor: Colors.white,
),
),
const SizedBox(height: 20),
ElevatedButton.icon(
onPressed: _handleScanner,
icon: const Icon(Icons.account_balance_wallet),
label: const Text("Scanner"),
style: ElevatedButton.styleFrom(
minimumSize: const Size(250, 50),
backgroundColor: Colors.blue,
foregroundColor: Colors.white,
),
),
],
),
),
),
),
);
}
}