import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../core/constants/app_constants.dart'; import '../core/router/app_router.dart'; import '../core/theme/app_theme.dart'; import '../presentation/sync/providers/sync_controller.dart'; class NearlePosApp extends ConsumerWidget { const NearlePosApp({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { // Watched, not awaited: the till opens immediately and the queue drains // behind it. Nothing on screen depends on this having finished. ref.watch(syncBootstrapProvider); return MaterialApp.router( title: AppConstants.appName, debugShowCheckedModeBanner: false, theme: AppTheme.light, routerConfig: ref.watch(routerProvider), builder: (context, child) { // A POS runs on fixed hardware; ignore OS font scaling so the dense // billing panel can never overflow. return MediaQuery.withNoTextScaling( child: child ?? const SizedBox.shrink(), ); }, ); } }