Files
tripz-llc/apps/rider/lib/controller/Widget/home_widget_provider.dart
T
HamzaandClaude Opus 4.8 6234e66471 feat: Gemini AI (doc OCR + face match) + role-assignment endpoints
- GeminiService (integrations/gemini, @Global): extractDocument (OCR fields) + faceMatch; graceful if no GEMINI_API_KEY
- documents: face-match now real via Gemini; POST /admin/documents/:id/ocr extracts fields for CS auto-fill
- roles: PATCH /admin/users/:id/role (admin) + POST /platform/users/role (bootstrap via x-platform-secret)
- config: gemini + platform.secret; .env.example entries

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 20:01:26 +03:00

58 lines
1.8 KiB
Dart

// import 'package:home_widget/home_widget.dart';
// class TripzHomeWidgetProvider {
// static const String widgetName = 'TripzHomeWidget';
// // Initialize Home Widget
// static Future<void> initHomeWidget() async {
// await HomeWidget.registerInteractivityCallback(backgroundCallback);
// }
// // Background Callback for Widget Updates
// static Future<void> backgroundCallback(Uri? uri) async {
// if (uri?.host == 'updateWidget') {
// // Logic to update widget data
// await updateWidgetData();
// }
// }
// // Update Widget Data Method
// static Future<void> updateWidgetData() async {
// // Fetch current ride details
// final rideData = await _fetchCurrentRideDetails();
// // Update Widget with Ride Information
// await HomeWidget.saveWidgetData<String>(
// 'ride_destination', rideData.destination);
// await HomeWidget.saveWidgetData<String>(
// 'ride_estimated_time', rideData.estimatedTime);
// await HomeWidget.saveWidgetData<double>('ride_fare', rideData.fare);
// // Trigger Widget Update
// await HomeWidget.updateWidget(
// name: widgetName,
// iOSName: 'TripzWidgetProvider',
// androidName: 'com.mobileapp.store.ride.HomeWidgetProvider',
// );
// }
// // Mock method to fetch ride details (replace with actual implementation)
// static Future<RideData> _fetchCurrentRideDetails() async {
// // Implement actual data fetching logic
// return RideData(
// destination: 'Downtown Office', estimatedTime: '25 mins', fare: 15.50);
// }
// }
// // Ride Data Model
// class RideData {
// final String destination;
// final String estimatedTime;
// final double fare;
// RideData(
// {required this.destination,
// required this.estimatedTime,
// required this.fare});
// }