diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/MainActivity.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/MainActivity.kt
index 1894c43..8b9d9b6 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/MainActivity.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/MainActivity.kt
@@ -1,29 +1,29 @@
 package fr.iut.alldev.allin.ui
 
-import android.app.Activity
-import android.os.Build
 import android.os.Bundle
 import androidx.activity.ComponentActivity
+import androidx.activity.SystemBarStyle
 import androidx.activity.compose.setContent
 import androidx.activity.enableEdgeToEdge
-import androidx.compose.runtime.SideEffect
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.toArgb
-import androidx.compose.ui.platform.LocalView
-import androidx.core.view.WindowCompat
-import androidx.core.view.WindowInsetsCompat
 import dagger.hilt.android.AndroidEntryPoint
-import fr.iut.alldev.allin.ui.navigation.AllInNavHost
 import fr.iut.alldev.allin.theme.AllInTheme
+import fr.iut.alldev.allin.ui.navigation.AllInNavHost
 
 @AndroidEntryPoint
 class MainActivity : ComponentActivity() {
     override fun onCreate(savedInstanceState: Bundle?) {
-        enableEdgeToEdge()
+        enableEdgeToEdge(
+            navigationBarStyle = SystemBarStyle.light(
+                scrim = Color.Transparent.toArgb(),
+                darkScrim = Color.Transparent.toArgb()
+            )
+        )
         super.onCreate(savedInstanceState)
 
         setContent {
-            AllInTheme{
+            AllInTheme {
                 AllInNavHost()
             }
         }
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/BetScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/BetScreen.kt
index 4676806..e188387 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/BetScreen.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/BetScreen.kt
@@ -5,13 +5,12 @@ import androidx.compose.foundation.ExperimentalFoundationApi
 import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Arrangement
 import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.PaddingValues
 import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.navigationBarsPadding
 import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.safeContentPadding
-import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.lazy.LazyColumn
 import androidx.compose.foundation.lazy.LazyRow
 import androidx.compose.foundation.lazy.items
@@ -31,7 +30,6 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Brush
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.platform.LocalDensity
-import androidx.compose.ui.platform.LocalHapticFeedback
 import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.unit.dp
 import androidx.hilt.navigation.compose.hiltViewModel
@@ -50,8 +48,6 @@ fun BetScreen(
     viewModel: BetViewModel = hiltViewModel(),
     selectBet: (Bet, Boolean) -> Unit,
 ) {
-    val haptic = LocalHapticFeedback.current
-
     val bets by viewModel.bets.collectAsState()
 
     val refreshing by viewModel.isRefreshing.collectAsState()
@@ -96,11 +92,9 @@ fun BetScreen(
                         )
                     )
                     .padding(top = 5.dp, bottom = 19.dp),
-                horizontalArrangement = Arrangement.spacedBy(9.dp)
+                horizontalArrangement = Arrangement.spacedBy(9.dp),
+                contentPadding = PaddingValues(horizontal = 23.dp)
             ) {
-                item {
-                    Spacer(modifier = Modifier.width(23.dp))
-                }
                 items(items) {
                     var isSelected by remember { mutableStateOf(false) }
                     AllInChip(
@@ -110,9 +104,6 @@ fun BetScreen(
                             isSelected = !isSelected
                         })
                 }
-                item {
-                    Spacer(modifier = Modifier.width(23.dp))
-                }
             }
         }
         itemsIndexed(bets) { idx, it ->
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/BetCreationScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/BetCreationScreen.kt
index 22a72f1..55bad53 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/BetCreationScreen.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/BetCreationScreen.kt
@@ -1,6 +1,5 @@
 package fr.iut.alldev.allin.ui.betCreation
 
-import androidx.compose.foundation.interaction.MutableInteractionSource
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.LaunchedEffect
 import androidx.compose.runtime.getValue
@@ -26,6 +25,7 @@ import java.time.ZonedDateTime
 fun BetCreationScreen(
     viewModel: BetCreationViewModel = hiltViewModel(),
     setLoading: (Boolean) -> Unit,
+    openDrawer: () -> Unit,
     onCreation: () -> Unit
 ) {
     val betTypes = remember { BetType.entries }
@@ -93,6 +93,7 @@ fun BetCreationScreen(
         selectedBetType = selectedBetType,
         setSelectedBetTypeElement = { selectedBetTypeElement = it },
         selectionBetType = selectionElements,
+        openDrawer = openDrawer,
         onCreateBet = {
             viewModel.createBet(
                 themeFieldName = themeFieldName,
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/components/BetCreationScreenContent.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/components/BetCreationScreenContent.kt
index b24c49c..88446db 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/components/BetCreationScreenContent.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/components/BetCreationScreenContent.kt
@@ -51,6 +51,7 @@ fun BetCreationScreenContent(
     selectedBetType: BetType,
     setSelectedBetTypeElement: (SelectionElement) -> Unit,
     selectionBetType: List<SelectionElement>,
+    openDrawer: () -> Unit,
     onCreateBet: () -> Unit
 ) {
     val interactionSource = remember { MutableInteractionSource() }
@@ -58,6 +59,7 @@ fun BetCreationScreenContent(
 
     Box(Modifier.fillMaxSize()) {
         AllInSections(
+            openDrawer = openDrawer,
             onLoadSection = { focus.clearFocus() },
             modifier = Modifier.align(Alignment.TopCenter),
             sections = listOf(
@@ -144,7 +146,8 @@ private fun BetCreationScreenContentPreview() {
             selectedBetType = BetType.BINARY,
             setSelectedBetTypeElement = { },
             selectionBetType = listOf(),
-            onCreateBet = { }
+            onCreateBet = { },
+            openDrawer = { }
         )
     }
 }
\ No newline at end of file
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/BetResultBottomSheet.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/BetResultBottomSheet.kt
index 30e816c..3bc0fa5 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/BetResultBottomSheet.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/BetResultBottomSheet.kt
@@ -5,6 +5,7 @@ import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.safeContentPadding
 import androidx.compose.foundation.layout.size
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.filled.Close
@@ -75,6 +76,7 @@ fun BetResultBottomSheetContent(
         Box(
             modifier = Modifier
                 .fillMaxSize()
+                .safeContentPadding()
                 .padding(16.dp)
         ) {
             IconButton(
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt
index 77d02ce..51c481f 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt
@@ -14,7 +14,6 @@ import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.navigationBarsPadding
 import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.safeContentPadding
 import androidx.compose.foundation.layout.size
 import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.lazy.LazyColumn
@@ -83,7 +82,7 @@ class BetStatusBottomSheetBetDisplayer(
         val response1Answer = remember { betDetail.getAnswerOfResponse(response1) }
         val response2Answer = remember { betDetail.getAnswerOfResponse(response2) }
 
-        Box(Modifier.navigationBarsPadding()) {
+        Box(Modifier) {
             Column {
                 Column(Modifier.padding(horizontal = 20.dp)) {
                     BetTitleHeader(
@@ -196,7 +195,7 @@ class BetStatusBottomSheetBetDisplayer(
 
                     item {
                         if (betDetail.bet.betStatus != BetStatus.FINISHED && betDetail.userParticipation == null) {
-                            Spacer(modifier = Modifier.height(48.dp))
+                            Spacer(modifier = Modifier.height(75.dp))
                         }
                         Spacer(modifier = Modifier.navigationBarsPadding())
                     }
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInSections.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInSections.kt
index 7f73927..c328294 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInSections.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInSections.kt
@@ -5,20 +5,11 @@ import androidx.compose.foundation.ExperimentalFoundationApi
 import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Arrangement
 import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.PaddingValues
-import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.fillMaxHeight
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.height
-import androidx.compose.foundation.layout.navigationBarsPadding
 import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.safeContentPadding
-import androidx.compose.foundation.layout.wrapContentHeight
 import androidx.compose.foundation.lazy.LazyColumn
-import androidx.compose.foundation.lazy.LazyItemScope
-import androidx.compose.foundation.lazy.LazyListScope
 import androidx.compose.foundation.lazy.LazyRow
 import androidx.compose.foundation.lazy.itemsIndexed
 import androidx.compose.foundation.pager.HorizontalPager
@@ -48,54 +39,61 @@ fun AllInSections(
     sections: List<SectionElement>,
     modifier: Modifier = Modifier,
     interSectionsPadding: Dp = 56.dp,
-    onLoadSection: ()->Unit = { }
+    openDrawer: () -> Unit,
+    onLoadSection: () -> Unit = { }
 ) {
     val pagerState = rememberPagerState(pageCount = { sections.size })
     val scope = rememberCoroutineScope()
-    LazyColumn(
-        modifier = modifier,
-        horizontalAlignment = Alignment.CenterHorizontally
-    ){
-        stickyHeader {
-            Box(
-                modifier = Modifier
-                    .fillMaxWidth()
-                    .background(
-                        Brush.verticalGradient(
-                            0.75f to AllInTheme.themeColors.mainSurface,
-                            1f to Color.Transparent
-                        )
-                    ),
-                contentAlignment = Alignment.Center
+
+    LaunchedEffect(key1 = pagerState.isScrollInProgress) {
+        if (
+            pagerState.isScrollInProgress &&
+            !pagerState.canScrollBackward &&
+            pagerState.currentPage == pagerState.targetPage
+        ) {
+            openDrawer()
+        }
+    }
+
+    Box(modifier = modifier) {
+        HorizontalPager(state = pagerState) { page ->
+            LaunchedEffect(key1 = page) { onLoadSection() }
+            LazyColumn(
+                modifier = Modifier.fillMaxSize(),
+                contentPadding = PaddingValues(top = 40.dp, start = 20.dp, end = 20.dp)
             ) {
-                LazyRow(
-                    horizontalArrangement = Arrangement.spacedBy(interSectionsPadding),
-                    modifier = Modifier.padding(vertical = 12.dp)
-                ) {
-                    itemsIndexed(sections) { index, section ->
-                        AllInSectionButton(
-                            text = section.text,
-                            isSelected = index == pagerState.currentPage,
-                            onClick = {
-                                scope.launch {
-                                    pagerState.animateScrollToPage(index)
-                                }
-                            }
-                        )
-                    }
+                item {
+                    sections[page].content()
                 }
             }
         }
 
-        item {
-            HorizontalPager(
-                state = pagerState
-            ) { page ->
-                LaunchedEffect(key1 = page) { onLoadSection() }
-                Column(
-                    modifier = Modifier.padding(horizontal = 20.dp)
-                ) {
-                    sections[page].content()
+        Box(
+            modifier = Modifier
+                .align(Alignment.TopCenter)
+                .fillMaxWidth()
+                .background(
+                    Brush.verticalGradient(
+                        0.75f to AllInTheme.themeColors.mainSurface,
+                        1f to Color.Transparent
+                    )
+                ),
+            contentAlignment = Alignment.Center
+        ) {
+            LazyRow(
+                horizontalArrangement = Arrangement.spacedBy(interSectionsPadding),
+                modifier = Modifier.padding(vertical = 12.dp)
+            ) {
+                itemsIndexed(sections) { index, section ->
+                    AllInSectionButton(
+                        text = section.text,
+                        isSelected = index == pagerState.currentPage,
+                        onClick = {
+                            scope.launch {
+                                pagerState.animateScrollToPage(index)
+                            }
+                        }
+                    )
                 }
             }
         }
@@ -108,6 +106,7 @@ fun AllInSections(
 private fun AllInSectionsPreview() {
     AllInTheme {
         AllInSections(
+            openDrawer = { },
             sections = listOf(
                 SectionElement("Page 1") {
                     Text("This is page 1")
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt
index 6752f35..be1f2be 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt
@@ -108,6 +108,7 @@ fun MainScreen(
         }
     )
 
+
     AllInDrawer(
         drawerState = drawerState,
         destinations = topLevelDestinations,
@@ -153,6 +154,11 @@ fun MainScreen(
                                 drawerState.close()
                             }
                         }
+                    },
+                    openDrawer = {
+                        scope.launch {
+                            drawerState.open()
+                        }
                     }
                 )
             }
@@ -160,6 +166,7 @@ fun MainScreen(
     }
 
 
+
     events.firstOrNull()?.let {
         it.Display(sheetState = eventBottomSheetState) {
             mainViewModel.dismissedEvents += it
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt
index 6f30214..ac38566 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt
@@ -43,14 +43,14 @@ class MainViewModel @Inject constructor(
 
     val snackbarContent: MutableState<SnackbarContent?> by lazy { mutableStateOf(null) }
 
-    fun putSnackbarContent(content: SnackbarContent) {
-        snackbarContent.value = content
-    }
-
     init {
         fetchEvents()
     }
 
+    fun putSnackbarContent(content: SnackbarContent) {
+        snackbarContent.value = content
+    }
+
     fun fetchEvents() {
         viewModelScope.launch {
             val token = keystoreManager.getTokenOrEmpty()
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/NavHost.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/NavHost.kt
index e8f4dc2..967cc40 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/NavHost.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/NavHost.kt
@@ -90,6 +90,7 @@ fun AllInNavHost(
 @Composable
 internal fun AllInDrawerNavHost(
     modifier: Modifier = Modifier,
+    openDrawer: () -> Unit,
     navController: NavHostController,
     selectBet: (Bet, Boolean) -> Unit,
     startDestination: String = Routes.PUBLIC_BETS,
@@ -116,6 +117,7 @@ internal fun AllInDrawerNavHost(
             val creationSuccessMessage = stringResource(id = R.string.bet_creation_success_message)
             BetCreationScreen(
                 setLoading = setLoading,
+                openDrawer = openDrawer,
                 onCreation = {
                     putSnackbarContent(
                         MainViewModel.SnackbarContent(