A more robust pdf generation > preview > print workflow

This commit is contained in:
2026-02-25 20:59:21 +08:00
parent 3a923ea7f6
commit db14ec3916
8 changed files with 483 additions and 330 deletions
+11 -2
View File
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart' show kIsWeb;
import 'package:audioplayers/audioplayers.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pdfrx/pdfrx.dart';
import 'package:supabase_flutter/supabase_flutter.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:firebase_core/firebase_core.dart';
@@ -36,6 +37,8 @@ Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
// The flag optionally hides annoying WASM warnings in your Chrome dev console
pdfrxFlutterInitialize(dismissPdfiumWasmWarnings: true);
// initialize Firebase before anything that uses messaging
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
@@ -192,7 +195,10 @@ class NotificationSoundObserver extends ProviderObserver {
controller.registerFcmToken(token);
}
})
.catchError((e) => debugPrint('getToken error: $e'));
.catchError((e) {
debugPrint('getToken error: $e');
return null;
});
_tokenSub = FirebaseMessaging.instance.onTokenRefresh.listen((token) {
debugPrint('token refreshed: $token');
controller.registerFcmToken(token);
@@ -210,7 +216,10 @@ class NotificationSoundObserver extends ProviderObserver {
controller.unregisterFcmToken(token);
}
})
.catchError((e) => debugPrint('getToken error: $e'));
.catchError((e) {
debugPrint('getToken error: $e');
return null;
});
}
}
}