This commit is contained in:
2025-09-19 13:02:47 +05:30
parent 8ef4f1327f
commit c47862bd60
2 changed files with 23 additions and 7 deletions

View File

@@ -11,6 +11,8 @@ import 'transaction_details_screen.dart';
import 'package:pdf/widgets.dart' as pw;
import 'package:permission_handler/permission_handler.dart';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:path_provider/path_provider.dart';
import 'package:share_plus/share_plus.dart';
class AccountStatementScreen extends StatefulWidget {
final String accountNo;
@@ -489,6 +491,20 @@ class _AccountStatementScreen extends State<AccountStatementScreen> {
}
}
// Add for IOS
else if (Platform.isIOS) {
// On iOS, we save to a temporary directory and then open the share sheet.
final tempDir = await getTemporaryDirectory();
final file = await File('${tempDir.path}/$fileName').create();
await file.writeAsBytes(pdfBytes);
// Use share_plus to open the iOS share dialog
await Share.shareXFiles(
[XFile(file.path)],
text: 'Account Statement',
);
}
} catch (e) {
if (mounted) {
ScaffoldMessenger.of(context).showSnackBar(

View File

@@ -17,13 +17,13 @@ void main() async {
]);
// Check for device compromise
final compromisedMessage = await SecurityService.deviceCompromisedMessage;
if (compromisedMessage != null) {
runApp(MaterialApp(
home: SecurityErrorScreen(message: compromisedMessage),
));
return;
}
// final compromisedMessage = await SecurityService.deviceCompromisedMessage;
// if (compromisedMessage != null) {
// runApp(MaterialApp(
// home: SecurityErrorScreen(message: compromisedMessage),
// ));
// return;
// }
// Initialize dependencies
await setupDependencies();