feat: add QR code scanning and file upload capabilities with permissions
This commit is contained in:
@@ -57,7 +57,7 @@ class ProvidersCubit extends Cubit<ProvidersState> {
|
||||
ProvidersCubit() : super(const ProvidersState());
|
||||
|
||||
// Carica i provider della company e quelli associati a uno store specifico
|
||||
Future<void> loadProviders(StoreModel? store) async {
|
||||
Future<void> loadProviders({StoreModel? store}) async {
|
||||
emit(state.copyWith(isLoading: true));
|
||||
try {
|
||||
final all = await _repository.fetchAllCompanyProviders(
|
||||
@@ -149,7 +149,7 @@ class ProvidersCubit extends Cubit<ProvidersState> {
|
||||
await _repository.syncProviderStores(pId!, selectedStoreIds);
|
||||
|
||||
// 3. Ricarichiamo tutto
|
||||
await loadProviders(null);
|
||||
await loadProviders();
|
||||
} catch (e) {
|
||||
emit(state.copyWith(isLoading: false, errorMessage: e.toString()));
|
||||
}
|
||||
@@ -168,7 +168,7 @@ class ProvidersCubit extends Cubit<ProvidersState> {
|
||||
// o fare un confronto tra i presenti e i nuovi)
|
||||
await _repository.syncProviderStores(provider.id!, storeIds);
|
||||
|
||||
await loadProviders(null);
|
||||
await loadProviders();
|
||||
} catch (e) {
|
||||
emit(state.copyWith(isLoading: false, errorMessage: e.toString()));
|
||||
}
|
||||
|
||||
@@ -124,7 +124,20 @@ class _FluxAppState extends State<FluxApp> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BlocBuilder<SessionCubit, SessionState>(
|
||||
// Il BlocConsumer unisce Listener e Builder in un colpo solo!
|
||||
return BlocConsumer<SessionCubit, SessionState>(
|
||||
// --- PARTE LISTENER (Il colpo di clacson in background) ---
|
||||
listenWhen: (previous, current) =>
|
||||
previous.status != SessionStatus.authenticated &&
|
||||
current.status == SessionStatus.authenticated,
|
||||
listener: (context, state) {
|
||||
// BAM! L'utente è dentro. Pre-carichiamo i Cubit leggeri.
|
||||
context.read<StoreCubit>().loadStores();
|
||||
context.read<StaffCubit>().loadAllStaff();
|
||||
context.read<ProvidersCubit>().loadProviders();
|
||||
},
|
||||
|
||||
// --- PARTE BUILDER (La UI che viene disegnata a schermo) ---
|
||||
builder: (context, sessionState) {
|
||||
if (sessionState.status == SessionStatus.initial) {
|
||||
return _buildLoadingScreen();
|
||||
|
||||
Reference in New Issue
Block a user