support for registering pushers
This commit is contained in:
parent
88cdcf9863
commit
fe871217b2
21 changed files with 350 additions and 22 deletions
|
|
@ -10,6 +10,7 @@ import "package:nexus/controllers/client_state.dart";
|
|||
import "package:nexus/controllers/multi_provider.dart";
|
||||
import "package:nexus/controllers/settings.dart";
|
||||
import "package:nexus/controllers/shared_prefs.dart";
|
||||
import "package:nexus/controllers/unified_push.dart";
|
||||
import "package:nexus/helpers/extensions/better_when.dart";
|
||||
import "package:nexus/helpers/extensions/scheme_to_theme.dart";
|
||||
import "package:nexus/helpers/font_licenses.dart";
|
||||
|
|
@ -22,6 +23,7 @@ import "package:window_manager/window_manager.dart";
|
|||
import "package:material_ui/material_ui.dart";
|
||||
|
||||
final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
|
||||
late final bool isInBackground;
|
||||
|
||||
final class Logger extends ProviderObserver {
|
||||
@override
|
||||
|
|
@ -62,7 +64,7 @@ void showError(Object error, [StackTrace? stackTrace]) {
|
|||
}
|
||||
}
|
||||
|
||||
void main() async {
|
||||
void main(List<String> args) async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
MediaKit.ensureInitialized();
|
||||
|
||||
|
|
@ -77,25 +79,30 @@ void main() async {
|
|||
await windowManager.setMinimumSize(Size.square(500));
|
||||
}
|
||||
|
||||
isInBackground = args.contains("--unifiedpush-bg");
|
||||
|
||||
LicenseRegistry.addLicense(() => Stream.fromIterable(fontLicenses));
|
||||
|
||||
FlutterError.onError = (FlutterErrorDetails details) =>
|
||||
showError(details.exception.toString(), details.stack);
|
||||
|
||||
runApp(
|
||||
ProviderScope(
|
||||
retry: (_, _) => null,
|
||||
observers: [
|
||||
// Change false to true if you want debug information on provider reloads
|
||||
// ignore: dead_code
|
||||
if (false && kDebugMode) Logger(),
|
||||
],
|
||||
child: const App(),
|
||||
),
|
||||
);
|
||||
if (!isInBackground) {
|
||||
runApp(
|
||||
ProviderScope(
|
||||
retry: (_, _) => null,
|
||||
observers: [
|
||||
// Change false to true if you want debug information on provider reloads
|
||||
// ignore: dead_code
|
||||
if (false && kDebugMode) Logger(),
|
||||
],
|
||||
child: App(isInBackground),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class const App({super.key}) extends StatelessWidget {
|
||||
class const App(final bool isInBackground, {super.key})
|
||||
extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) => DynamicColorBuilder(
|
||||
builder: (lightDynamic, darkDynamic) => Consumer(
|
||||
|
|
@ -138,6 +145,7 @@ class const App({super.key}) extends StatelessWidget {
|
|||
IListConst([
|
||||
SharedPrefsController.provider,
|
||||
ClientController.provider,
|
||||
UnifiedPushController.provider,
|
||||
]),
|
||||
),
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in a new issue