Skip to content

Commit 288c2ca

Browse files
authored
Merge pull request #276 from mdgspace/mixpanel
feat: initialize mixpanel
2 parents 16885b1 + ce22431 commit 288c2ca

5 files changed

Lines changed: 26 additions & 0 deletions

File tree

lib/data/constants/env_config.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,6 @@ class EnvironmentConfig {
1515
);
1616

1717
static const String SENTRY_DSN = String.fromEnvironment('SENTRY_DSN');
18+
static const String MIXPANEL_PROJECT_KEY =
19+
String.fromEnvironment('MIXPANEL_PROJECT_KEY');
1820
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import 'package:appetizer/data/constants/env_config.dart';
2+
import 'package:mixpanel_flutter/mixpanel_flutter.dart';
3+
4+
class MixpanelManager {
5+
static Mixpanel? instance;
6+
7+
static Future<Mixpanel> init() async {
8+
instance ??= await Mixpanel.init(EnvironmentConfig.MIXPANEL_PROJECT_KEY,
9+
trackAutomaticEvents: true);
10+
return instance!;
11+
}
12+
}

lib/presentation/app/bloc/app_bloc.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'dart:async';
22
import 'package:appetizer/data/constants/constants.dart';
33
import 'package:appetizer/data/services/local/local_storage_service.dart';
4+
import 'package:appetizer/domain/amenity/mixpanel_service.dart';
45
import 'package:appetizer/domain/models/user/user.dart';
56
import 'package:appetizer/domain/repositories/leave/leave_repository.dart';
67
import 'package:appetizer/domain/repositories/user/user_repository.dart';
@@ -70,6 +71,8 @@ class AppBloc extends Bloc<AppEvent, AppState> {
7071

7172
FutureOr<void> _onNavigateToHome(
7273
NavigateToHomeScreen event, Emitter<AppState> emit) {
74+
assert(state.user != null);
75+
MixpanelManager.instance?.identify(state.user!.enrNo.toString());
7376
emit(state.copyWith(navigateTo: NavigateTo.showHomeScreen));
7477
}
7578

pubspec.lock

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -749,6 +749,14 @@ packages:
749749
url: "https://pub.dev"
750750
source: hosted
751751
version: "1.0.4"
752+
mixpanel_flutter:
753+
dependency: "direct main"
754+
description:
755+
name: mixpanel_flutter
756+
sha256: "5dc993ade5eaad51ebb6c91230971a3443ac30a3d1d24399bc3db74c5705d400"
757+
url: "https://pub.dev"
758+
source: hosted
759+
version: "2.2.0"
752760
month_picker_dialog:
753761
dependency: "direct main"
754762
description:

pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ dependencies:
4545
url_launcher: ^6.1.12
4646
flutter_inappwebview: ^6.0.0
4747
flutter_native_splash: ^2.3.2
48+
mixpanel_flutter: ^2.2.0
4849

4950
dev_dependencies:
5051
auto_route_generator: ^7.1.2

0 commit comments

Comments
 (0)