This commit is contained in:
Phuoc Nguyen
2025-12-09 16:57:58 +07:00
parent 597c6a0e57
commit 4cfe000172
11 changed files with 89 additions and 2 deletions

View File

@@ -87,6 +87,7 @@ class _LoginPageState extends ConsumerState<LoginPage> {
..when(
data: (user) {
if (user != null && mounted) {
// Analytics (logLogin & setUserId) are handled in auth_provider
// Navigate to home on success
context.goHome();
}

View File

@@ -26,6 +26,7 @@ import 'package:worker/features/auth/presentation/providers/customer_groups_prov
import 'package:worker/features/auth/presentation/providers/session_provider.dart';
import 'package:worker/features/auth/presentation/widgets/phone_input_field.dart';
import 'package:worker/features/auth/presentation/widgets/file_upload_card.dart';
import 'package:worker/core/services/analytics_service.dart';
/// Registration Page
///
@@ -345,6 +346,9 @@ class _RegisterPageState extends ConsumerState<RegisterPage> {
);
if (mounted) {
// Log sign up analytics event
AnalyticsService.logSignUp(method: 'phone');
// Show success message
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(

View File

@@ -14,6 +14,7 @@ import 'package:worker/core/services/frappe_auth_service.dart';
import 'package:worker/features/auth/data/datasources/auth_local_datasource.dart';
import 'package:worker/features/auth/data/datasources/auth_remote_datasource.dart';
import 'package:worker/features/auth/domain/entities/user.dart';
import 'package:worker/core/services/analytics_service.dart';
part 'auth_provider.g.dart';
@@ -182,6 +183,11 @@ class Auth extends _$Auth {
// Save rememberMe preference
await _localDataSource.saveRememberMe(rememberMe);
// Set user ID for analytics tracking
await AnalyticsService.setUserId(phoneNumber);
// Log login event
await AnalyticsService.logLogin(method: 'phone');
// Create and return User entity
final now = DateTime.now();
return User(
@@ -218,6 +224,9 @@ class Auth extends _$Auth {
state = await AsyncValue.guard(() async {
final frappeService = await _frappeAuthService;
// Clear user ID from analytics
await AnalyticsService.setUserId(null);
// Clear saved session
await _localDataSource.clearSession();
await frappeService.clearSession();

View File

@@ -272,7 +272,7 @@ final class AuthProvider extends $AsyncNotifierProvider<Auth, User?> {
Auth create() => Auth();
}
String _$authHash() => r'd851980cad7a624f00eba69e19d8a4fee22008e7';
String _$authHash() => r'f1d856a9a8fc461da111699e3c7ca2af1f2ce7ca';
/// Authentication Provider
///