added product import and billing integration
This commit is contained in:
@@ -9,6 +9,7 @@ import '../../../core/utils/formatters.dart';
|
||||
import '../../../core/widgets/primary_button.dart';
|
||||
import '../../auth/providers/auth_controller.dart';
|
||||
import '../../pos/providers/cart_controller.dart';
|
||||
import '../../pos/providers/catalog_providers.dart';
|
||||
import '../../../domain/repositories/sync_repository.dart';
|
||||
import '../providers/sync_controller.dart';
|
||||
|
||||
@@ -35,9 +36,21 @@ class _SignOutDialog extends ConsumerStatefulWidget {
|
||||
class _SignOutDialogState extends ConsumerState<_SignOutDialog> {
|
||||
SyncOutcome? _result;
|
||||
|
||||
void _finish() {
|
||||
Future<void> _finish() async {
|
||||
ref.read(cartControllerProvider.notifier).reset();
|
||||
ref.read(authControllerProvider.notifier).signOut();
|
||||
await ref.read(authControllerProvider.notifier).signOut();
|
||||
|
||||
// Mirrors what a successful import does on the way in: bump the version
|
||||
// so catalogueReadyProvider re-reads hasCatalogue as false, and drop the
|
||||
// cached product lists so the next session's grid doesn't flash this
|
||||
// session's now-cleared data before it re-fetches.
|
||||
ref.read(catalogueVersionProvider.notifier).state++;
|
||||
ref.invalidate(allProductsProvider);
|
||||
ref.invalidate(visibleProductsProvider);
|
||||
ref.invalidate(categoryCountsProvider);
|
||||
ref.invalidate(lowStockProductsProvider);
|
||||
|
||||
if (!mounted) return;
|
||||
Navigator.of(context).pop();
|
||||
context.go(AppRoutes.login);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user