Compare commits
2 Commits
37e1c1a616
...
5caf3f6b62
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5caf3f6b62 | ||
|
|
b18a171ac2 |
@@ -1,6 +1,7 @@
|
|||||||
import 'package:bloc/bloc.dart';
|
import 'package:bloc/bloc.dart';
|
||||||
import '../session/session_bloc.dart';
|
import '../session/session_bloc.dart';
|
||||||
import '../session/session_event.dart';
|
import '../session/session_event.dart';
|
||||||
|
import '../session/session_state.dart';
|
||||||
import 'auth_event.dart';
|
import 'auth_event.dart';
|
||||||
import 'auth_state.dart';
|
import 'auth_state.dart';
|
||||||
import '../../services/api_client.dart';
|
import '../../services/api_client.dart';
|
||||||
@@ -252,20 +253,21 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
|
|||||||
CheckAuthRequested event,
|
CheckAuthRequested event,
|
||||||
Emitter<AuthState> emit,
|
Emitter<AuthState> emit,
|
||||||
) async {
|
) async {
|
||||||
// Try to restore session from persistent storage
|
// Check if session is active from persistent storage
|
||||||
final sessionState = sessionBloc.state;
|
final sessionState = sessionBloc.state;
|
||||||
|
|
||||||
if (sessionState is SessionActive) {
|
if (sessionState is SessionActive) {
|
||||||
// Session already active
|
// Session already active - emit authenticated state with minimal info
|
||||||
emit(AuthAuthenticated(
|
// The full user info will be fetched when needed
|
||||||
token: sessionState.token,
|
emit(
|
||||||
userId: '',
|
AuthAuthenticated(
|
||||||
username: '',
|
token: sessionState.token,
|
||||||
email: '',
|
userId: '',
|
||||||
));
|
username: '',
|
||||||
|
email: '',
|
||||||
|
),
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
// Try to restore from SharedPreferences
|
|
||||||
await Future.delayed(const Duration(milliseconds: 100)); // Give time for restoration
|
|
||||||
emit(AuthUnauthenticated());
|
emit(AuthUnauthenticated());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user