Skip to content

Commit 42218bd

Browse files
committed
[refactor]: 사이드바 열렸을 때 뒤로가기 누르면 사이드바 닫히도록 수정 (#25)
1 parent 021217a commit 42218bd

6 files changed

Lines changed: 43 additions & 3 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package org.whosin.client.presentation.component
2+
3+
import androidx.activity.compose.BackHandler
4+
import androidx.compose.runtime.Composable
5+
6+
@Composable
7+
actual fun CommonBackHandler(enabled: Boolean, onBack: () -> Unit) {
8+
BackHandler(enabled = enabled, onBack = onBack)
9+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.whosin.client.presentation.component
2+
3+
import androidx.compose.runtime.Composable
4+
5+
@Composable
6+
expect fun CommonBackHandler(enabled: Boolean = true, onBack: () -> Unit)

composeApp/src/commonMain/kotlin/org/whosin/client/presentation/home/HomeScreen.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,11 @@ import androidx.compose.material3.Text
2929
import androidx.compose.material3.rememberDrawerState
3030
import androidx.compose.runtime.Composable
3131
import androidx.compose.runtime.getValue
32-
import androidx.compose.runtime.mutableStateOf
3332
import androidx.compose.runtime.remember
3433
import androidx.compose.runtime.rememberCoroutineScope
35-
import androidx.compose.runtime.setValue
3634
import androidx.compose.ui.Alignment
3735
import androidx.compose.ui.Modifier
36+
import org.whosin.client.presentation.component.CommonBackHandler
3837
import androidx.compose.ui.draw.shadow
3938
import androidx.compose.ui.graphics.Color
4039
import androidx.compose.ui.layout.ContentScale
@@ -50,7 +49,6 @@ import org.jetbrains.compose.ui.tooling.preview.Preview
5049
import org.koin.compose.viewmodel.koinViewModel
5150
import org.whosin.client.presentation.home.component.MyClubSidebar
5251
import org.whosin.client.presentation.home.component.PresentMembersList
53-
import org.whosin.client.presentation.home.mock.sampleUsers
5452
import whosinclient.composeapp.generated.resources.Res
5553
import whosinclient.composeapp.generated.resources.current_whos_in_bottom
5654
import whosinclient.composeapp.generated.resources.current_whos_in_top
@@ -69,6 +67,12 @@ fun HomeScreen(
6967
val scope = rememberCoroutineScope()
7068
val uiState by viewModel.uiState.collectAsStateWithLifecycle()
7169

70+
CommonBackHandler(enabled = drawerState.isOpen) {
71+
scope.launch {
72+
drawerState.close()
73+
}
74+
}
75+
7276
ModalNavigationDrawer(
7377
drawerState = drawerState,
7478
scrimColor = Color(0x66000000),
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.whosin.client.presentation.component
2+
3+
import androidx.compose.runtime.Composable
4+
5+
@Composable
6+
actual fun CommonBackHandler(enabled: Boolean, onBack: () -> Unit) {
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.whosin.client.presentation.component
2+
3+
import androidx.compose.runtime.Composable
4+
5+
@Composable
6+
actual fun CommonBackHandler(enabled: Boolean, onBack: () -> Unit) {
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.whosin.client.presentation.component
2+
3+
import androidx.compose.runtime.Composable
4+
5+
@Composable
6+
actual fun CommonBackHandler(enabled: Boolean, onBack: () -> Unit) {
7+
}

0 commit comments

Comments
 (0)