reclaim_flutter 0.1.30
reclaim_flutter: ^0.1.30 copied to clipboard
reclaim_flutter SDK provides a way to let your users import data from other websites into your app in a secure, privacy preserving manner using zero knowledge proofs right in your Flutter Application.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:reclaim_flutter/reclaim_flutter.dart';
void main() {
runApp(const MainApp());
}
// Init a GlobalKey and pass it to ReclaimZomatoEqual widget
final zomatoEqualKey = GlobalKey<ReclaimZomatoEqualState>();
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: ListView.builder(
itemCount: 1,
itemBuilder: (BuildContext context, int index) {
return Center(
child: Column(
children: [
ReclaimZomatoEqual(
key: zomatoEqualKey,
requestedProofs: [
ZomatoEqualRequestedProof(
url: 'https://www.zomato.com/webroutes/user/orders?page=1',
loginUrl: 'https://www.zomato.com',
loginCookies: ['cid', 'zat'],
),
],
title: "Zomato",
subTitle: "Prove that you are a Zomato user",
cta: "Prove",
onClaimStateChange: (claimState) {
// claimState can be 'initiating', 'creating', 'done'
// Hide ReclaimZomatoEqual Widget on claimState === 'initiating' and show fetching animation
print(claimState);
},
onSuccess: (proofs) async{
// proofs contains a list of proof
print('proofs: $proofs');
// Show a success modal or bottom sheet
},
onFail: (Exception e) {
print('Error: $e');
},
),
SizedBox(height: 20),
ElevatedButton(
child: Text('Custom Trigger'),
onPressed: () {
//The trigger can be called from anywhere
zomatoEqualKey.currentState?.triggerOpenWebView();
},
),
],
),
);
},
),
),
);
}
}