@@ -12,6 +12,7 @@ import androidx.compose.foundation.layout.navigationBars
12
12
import androidx.compose.foundation.layout.padding
13
13
import androidx.compose.foundation.layout.windowInsetsPadding
14
14
import androidx.compose.material3.Scaffold
15
+ import androidx.compose.runtime.CompositionLocalProvider
15
16
import androidx.compose.runtime.getValue
16
17
import androidx.compose.runtime.mutableStateOf
17
18
import androidx.compose.runtime.saveable.rememberSaveable
@@ -24,6 +25,8 @@ import androidx.navigation.compose.currentBackStackEntryAsState
24
25
import androidx.navigation.compose.rememberNavController
25
26
import com.wap.designsystem.WappTheme
26
27
import com.wap.wapp.component.WappBottomBar
28
+ import com.wap.wapp.core.analytics.AnalyticsHelper
29
+ import com.wap.wapp.core.analytics.LocalAnalyticsHelper
27
30
import com.wap.wapp.core.domain.usecase.auth.SignInUseCase
28
31
import com.wap.wapp.feature.attendance.management.navigation.attendanceManagementNavigationRoute
29
32
import com.wap.wapp.feature.auth.signin.navigation.signInNavigationRoute
@@ -47,50 +50,54 @@ class MainActivity : ComponentActivity() {
47
50
@Inject
48
51
lateinit var signInUseCase: SignInUseCase
49
52
53
+ @Inject
54
+ lateinit var analyticsHelper: AnalyticsHelper
55
+
50
56
override fun onCreate (savedInstanceState : Bundle ? ) {
51
57
setSystemBarStyle()
52
58
super .onCreate(savedInstanceState)
53
59
setContent {
54
- WappTheme {
55
- val navController = rememberNavController()
56
-
57
- Scaffold (
58
- containerColor = WappTheme .colors.backgroundBlack,
59
- bottomBar = {
60
- val navBackStackEntry by
61
- navController.currentBackStackEntryAsState()
60
+ val navController = rememberNavController()
61
+ val navBackStackEntry by navController.currentBackStackEntryAsState()
62
+ val currentRoute = navBackStackEntry?.destination?.route
63
+ var bottomBarState by rememberSaveable { mutableStateOf(false ) }
62
64
63
- val currentRoute = navBackStackEntry?.destination?.route
64
- var bottomBarState by rememberSaveable { mutableStateOf(false ) }
65
-
66
- handleBottomBarState(
67
- currentRoute,
68
- setBottomBarState = { boolean ->
69
- bottomBarState = boolean
70
- },
71
- )
65
+ CompositionLocalProvider (
66
+ LocalAnalyticsHelper provides analyticsHelper,
67
+ ) {
68
+ WappTheme {
69
+ Scaffold (
70
+ containerColor = WappTheme .colors.backgroundBlack,
71
+ bottomBar = {
72
+ handleBottomBarState(
73
+ currentRoute,
74
+ setBottomBarState = { boolean ->
75
+ bottomBarState = boolean
76
+ },
77
+ )
72
78
73
- WappBottomBar (
74
- currentRoute = currentRoute,
75
- bottomBarState = bottomBarState,
76
- onNavigateToDestination = { destination ->
77
- navigateToTopLevelDestination(
78
- navController,
79
- destination,
80
- )
81
- },
82
- modifier = Modifier .height(70 .dp),
79
+ WappBottomBar (
80
+ currentRoute = currentRoute,
81
+ bottomBarState = bottomBarState,
82
+ onNavigateToDestination = { destination ->
83
+ navigateToTopLevelDestination(
84
+ navController,
85
+ destination,
86
+ )
87
+ },
88
+ modifier = Modifier .height(70 .dp),
89
+ )
90
+ },
91
+ modifier = Modifier
92
+ .windowInsetsPadding(WindowInsets .navigationBars)
93
+ .fillMaxSize(),
94
+ ) { innerPadding ->
95
+ WappNavHost (
96
+ signInUseCase = signInUseCase,
97
+ navController = navController,
98
+ modifier = Modifier .padding(innerPadding),
83
99
)
84
- },
85
- modifier = Modifier
86
- .windowInsetsPadding(WindowInsets .navigationBars)
87
- .fillMaxSize(),
88
- ) { innerPadding ->
89
- WappNavHost (
90
- signInUseCase = signInUseCase,
91
- navController = navController,
92
- modifier = Modifier .padding(innerPadding),
93
- )
100
+ }
94
101
}
95
102
}
96
103
}
0 commit comments