diff --git a/presentation/src/main/java/com/teamtuna/emotionaldiary/main/MainActivity.kt b/presentation/src/main/java/com/teamtuna/emotionaldiary/main/MainActivity.kt index 5d701a4..68192ba 100644 --- a/presentation/src/main/java/com/teamtuna/emotionaldiary/main/MainActivity.kt +++ b/presentation/src/main/java/com/teamtuna/emotionaldiary/main/MainActivity.kt @@ -1,10 +1,21 @@ package com.teamtuna.emotionaldiary.main import android.os.Bundle +import androidx.activity.compose.setContent import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity -import com.teamtuna.emotionaldiary.add.EmotionAddFragment -import com.teamtuna.emotionaldiary.presentation.R +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement.SpaceBetween +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material.Text +import androidx.compose.material.TextButton +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import com.google.accompanist.insets.ProvideWindowInsets +import com.teamtuna.emotionaldiary.compose.theme.EmotionalDiaryTheme import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint @@ -14,9 +25,58 @@ class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) + setContent { + MainScene() + } - val fragment = EmotionAddFragment() - supportFragmentManager.beginTransaction().replace(R.id.fragment, fragment).commit() + } + + @Composable + fun MainScene() { + EmotionalDiaryTheme { + ProvideWindowInsets { + + BottomMenu() + // fixme bottomAppBar +// Scaffold( +// bottomAppBar = { +// +// } +// ) + } + } + } + + @Composable + fun BottomMenu() { + val selectedMenu = viewModel.selectedMenu + Row( + Modifier + .background(Color(0xFFEDEAE0)) + .fillMaxSize(), + horizontalArrangement = SpaceBetween, + verticalAlignment = Alignment.Bottom + ) { + TextButton(onClick = { viewModel.onSelectBottomMenu(BottomMenu.CALENDAR) }) { + val color = + if (selectedMenu.value == BottomMenu.CALENDAR) Color.Blue else Color.DarkGray + Text(text = "달력", color = color) + } + TextButton(onClick = { viewModel.onSelectBottomMenu(BottomMenu.TIMELINE) }) { + val color = + if (selectedMenu.value == BottomMenu.TIMELINE) Color.Blue else Color.DarkGray + Text(text = "타임라인", color = color) + } + TextButton(onClick = { viewModel.onSelectBottomMenu(BottomMenu.ANALYSIS) }) { + val color = + if (selectedMenu.value == BottomMenu.ANALYSIS) Color.Blue else Color.DarkGray + Text(text = "분석", color = color) + } + TextButton(onClick = { viewModel.onSelectBottomMenu(BottomMenu.SETTING) }) { + val color = + if (selectedMenu.value == BottomMenu.SETTING) Color.Blue else Color.DarkGray + Text(text = "설정", color = color) + } + } } } diff --git a/presentation/src/main/java/com/teamtuna/emotionaldiary/main/MainViewModel.kt b/presentation/src/main/java/com/teamtuna/emotionaldiary/main/MainViewModel.kt index 82a37ca..7587f2d 100644 --- a/presentation/src/main/java/com/teamtuna/emotionaldiary/main/MainViewModel.kt +++ b/presentation/src/main/java/com/teamtuna/emotionaldiary/main/MainViewModel.kt @@ -1,5 +1,6 @@ package com.teamtuna.emotionaldiary.main +import androidx.compose.runtime.mutableStateOf import androidx.lifecycle.ViewModel import com.teamtuna.emotionaldiary.usecase.MainUseCase import dagger.hilt.android.lifecycle.HiltViewModel @@ -8,4 +9,15 @@ import javax.inject.Inject @HiltViewModel class MainViewModel @Inject constructor(private val mainUseCase: MainUseCase) : ViewModel() { fun test() = mainUseCase() + + private val _selectedMenu = mutableStateOf(BottomMenu.CALENDAR) + val selectedMenu get() = _selectedMenu + + fun onSelectBottomMenu(menu: BottomMenu) { + _selectedMenu.value = menu + } +} + +enum class BottomMenu { + CALENDAR, TIMELINE, ANALYSIS, SETTING }