Skip to content

Commit

Permalink
Replace BookMark to Bookmark
Browse files Browse the repository at this point in the history
  • Loading branch information
mtkw0127 committed Jul 17, 2023
1 parent 736fff7 commit b4fe687
Show file tree
Hide file tree
Showing 12 changed files with 57 additions and 57 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import io.github.droidkaigi.confsched2023.main.mainScreen
import io.github.droidkaigi.confsched2023.main.mainScreenRoute
import io.github.droidkaigi.confsched2023.sessions.navigateSearchScreen
import io.github.droidkaigi.confsched2023.sessions.navigateTimetableScreen
import io.github.droidkaigi.confsched2023.sessions.navigateToBookMarkScreen
import io.github.droidkaigi.confsched2023.sessions.navigateToBookmarkScreen
import io.github.droidkaigi.confsched2023.sessions.navigateToTimetableItemDetailScreen
import io.github.droidkaigi.confsched2023.sessions.nestedSessionScreens
import io.github.droidkaigi.confsched2023.sessions.searchScreen
Expand Down Expand Up @@ -87,8 +87,8 @@ private fun NavGraphBuilder.mainScreen(navController: NavHostController) {
timetableitem.id,
)
},
onClickBookMarkIcon = {
navController.navigateToBookMarkScreen()
onClickBookmarkIcon = {
navController.navigateToBookmarkScreen()
},
)
composable(contributorsScreenRoute) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class TimetableScreenRobot @Inject constructor(
TimetableScreen(
onSearchClick = { },
onTimetableItemClick = { },
onClickBookMarkIcon = { },
onClickBookmarkIcon = { },
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,40 +16,40 @@ import androidx.navigation.NavController
import io.github.droidkaigi.confsched2023.model.DroidKaigi2023Day
import io.github.droidkaigi.confsched2023.model.TimetableItem
import io.github.droidkaigi.confsched2023.model.TimetableItemId
import io.github.droidkaigi.confsched2023.sessions.component.BookMarkTopArea
import io.github.droidkaigi.confsched2023.sessions.section.BookMarkSheet
import io.github.droidkaigi.confsched2023.sessions.component.BookmarkTopArea
import io.github.droidkaigi.confsched2023.sessions.section.BookmarkSheet
import kotlinx.collections.immutable.PersistentList
import kotlinx.collections.immutable.PersistentMap
import kotlinx.collections.immutable.PersistentSet

const val bookMarkScreenRoute = "bookMark"
const val bookmarkScreenRoute = "bookmark"

fun NavController.navigateToBookMarkScreen() {
navigate(bookMarkScreenRoute)
fun NavController.navigateToBookmarkScreen() {
navigate(bookmarkScreenRoute)
}

sealed interface BookMarkScreenUiState {
sealed interface BookmarkScreenUiState {

val currentDayFilter: PersistentList<DroidKaigi2023Day>

data class Empty(
override val currentDayFilter: PersistentList<DroidKaigi2023Day>,
) : BookMarkScreenUiState
) : BookmarkScreenUiState

data class ListBookMark(
data class ListBookmark(
val bookmarkedTimetableItemIds: PersistentSet<TimetableItemId>,
val timetableItemMap: PersistentMap<String, List<TimetableItem>>,
override val currentDayFilter: PersistentList<DroidKaigi2023Day>,
) : BookMarkScreenUiState
) : BookmarkScreenUiState
}

@Composable
fun BookMarkScreen(
fun BookmarkScreen(
onClickBackPress: () -> Unit,
viewModel: BookMarkScreenViewModel = hiltViewModel<BookMarkScreenViewModel>(),
viewModel: BookmarkScreenViewModel = hiltViewModel<BookmarkScreenViewModel>(),
) {
val uiState by viewModel.uiState.collectAsState()
BookMarkScreen(
BookmarkScreen(
uiState = uiState,
onClickBackPress = onClickBackPress,
onClickBooMarkIcon = { viewModel.updateBookmark(it) },
Expand All @@ -60,11 +60,11 @@ fun BookMarkScreen(
)
}

const val BookScreenTestTag = "TimetableScreenTestTag"
const val BookmarkScreenTestTag = "BookmarkScreenTestTag"

@Composable
private fun BookMarkScreen(
uiState: BookMarkScreenUiState,
private fun BookmarkScreen(
uiState: BookmarkScreenUiState,
onClickBackPress: () -> Unit,
onClickBooMarkIcon: (TimetableItemId) -> Unit,
onClickAllFilterChip: () -> Unit,
Expand All @@ -74,20 +74,20 @@ private fun BookMarkScreen(
) {
val scrollState = rememberLazyListState()
Scaffold(
modifier = Modifier.testTag(BookScreenTestTag),
modifier = Modifier.testTag(BookmarkScreenTestTag),
topBar = {
BookMarkTopArea(
BookmarkTopArea(
scrollState = scrollState,
onClickBackPress = onClickBackPress,
)
},
containerColor = Color(0xFFF8FAF6),
contentWindowInsets = WindowInsets(0.dp),
) { padding ->
BookMarkSheet(
BookmarkSheet(
modifier = Modifier.padding(padding),
scrollState = scrollState,
onClickBookMarkIcon = onClickBooMarkIcon,
onClickBookmarkIcon = onClickBooMarkIcon,
onClickAllFilterChip = onClickAllFilterChip,
onClickDayFirstChip = onClickDayFirstChip,
onClickDaySecondChip = onClickDaySecondChip,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import kotlinx.coroutines.launch
import javax.inject.Inject

@HiltViewModel
class BookMarkScreenViewModel @Inject constructor(
class BookmarkScreenViewModel @Inject constructor(
private val sessionsRepository: SessionsRepository,
userMessageStateHolder: UserMessageStateHolder,
) : ViewModel() {
Expand All @@ -44,7 +44,7 @@ class BookMarkScreenViewModel @Inject constructor(
DroidKaigi2023Day.values().map { it },
)

val uiState: StateFlow<BookMarkScreenUiState> =
val uiState: StateFlow<BookmarkScreenUiState> =
buildUiState(
sessionsStateFlow,
currentDayFilter,
Expand All @@ -63,11 +63,11 @@ class BookMarkScreenViewModel @Inject constructor(
}.toPersistentMap()

if (sortAndGroupedBookmarkedTimetableItems.isEmpty()) {
BookMarkScreenUiState.Empty(
BookmarkScreenUiState.Empty(
currentDayFilter.toPersistentList(),
)
} else {
BookMarkScreenUiState.ListBookMark(
BookmarkScreenUiState.ListBookmark(
sessionsStateFlow.bookmarks,
sortAndGroupedBookmarkedTimetableItems,
currentDayFilter.toPersistentList(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ fun NavGraphBuilder.sessionScreens(onNavigationIconClick: () -> Unit) {
onNavigationIconClick = onNavigationIconClick,
)
}
composable(bookMarkScreenRoute) {
BookMarkScreen(
composable(bookmarkScreenRoute) {
BookmarkScreen(
onClickBackPress = onNavigationIconClick,
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ const val timetableScreenRoute = "timetable"
fun NavGraphBuilder.nestedSessionScreens(
onSearchClick: () -> Unit,
onTimetableItemClick: (TimetableItem) -> Unit,
onClickBookMarkIcon: () -> Unit,
onClickBookmarkIcon: () -> Unit,
) {
composable(timetableScreenRoute) {
TimetableScreen(
onSearchClick = onSearchClick,
onTimetableItemClick = onTimetableItemClick,
onClickBookMarkIcon = onClickBookMarkIcon,
onClickBookmarkIcon = onClickBookmarkIcon,
)
}
}
Expand All @@ -52,7 +52,7 @@ const val TimetableScreenTestTag = "TimetableScreen"
fun TimetableScreen(
onSearchClick: () -> Unit,
onTimetableItemClick: (TimetableItem) -> Unit,
onClickBookMarkIcon: () -> Unit,
onClickBookmarkIcon: () -> Unit,
viewModel: TimetableScreenViewModel = hiltViewModel<TimetableScreenViewModel>(),
) {
val uiState by viewModel.uiState.collectAsState()
Expand All @@ -67,7 +67,7 @@ fun TimetableScreen(
snackbarHostState = snackbarHostState,
onTimetableItemClick = onTimetableItemClick,
onBookmarkClick = viewModel::onBookmarkClick,
onClickBookMarkIcon = onClickBookMarkIcon,
onClickBookmarkIcon = onClickBookmarkIcon,
onSearchClick = onSearchClick,
onTimetableUiChangeClick = viewModel::onUiTypeChange,
)
Expand All @@ -83,7 +83,7 @@ private fun TimetableScreen(
snackbarHostState: SnackbarHostState,
onTimetableItemClick: (TimetableItem) -> Unit,
onBookmarkClick: (TimetableItem) -> Unit,
onClickBookMarkIcon: () -> Unit,
onClickBookmarkIcon: () -> Unit,
onSearchClick: () -> Unit,
onTimetableUiChangeClick: () -> Unit,
) {
Expand All @@ -103,7 +103,7 @@ private fun TimetableScreen(
state,
onTimetableUiChangeClick,
onSearchClick,
onClickBookMarkIcon,
onClickBookmarkIcon,
)
},
containerColor = MaterialTheme.colorScheme.surfaceVariant,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import androidx.compose.ui.unit.sp
import io.github.droidkaigi.confsched2023.model.DroidKaigi2023Day

@Composable
fun BookMarkFilter(
fun BookmarkFilter(
currentDayFilter: List<DroidKaigi2023Day>,
onClickAllFilterChip: () -> Unit,
onClickDayFirstChip: () -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ import io.github.droidkaigi.confsched2023.model.TimetableItemId
import kotlinx.collections.immutable.PersistentSet

@Composable
fun BookMarkItem(
fun BookmarkItem(
bookmarkedTimetableItemIds: PersistentSet<TimetableItemId>,
timetableItem: TimetableItem,
onClickBooMarkIcon: (TimetableItemId) -> Unit,
onClickBoomarkIcon: (TimetableItemId) -> Unit,
modifier: Modifier = Modifier,
) {
Column(modifier) {
Expand All @@ -58,7 +58,7 @@ fun BookMarkItem(
},
contentDescription = null,
modifier = Modifier.clickable {
onClickBooMarkIcon(timetableItem.id)
onClickBoomarkIcon(timetableItem.id)
},
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import androidx.compose.ui.unit.sp

@OptIn(ExperimentalLayoutApi::class)
@Composable
fun BookMarkTopArea(
fun BookmarkTopArea(
scrollState: LazyListState,
onClickBackPress: () -> Unit,
modifier: Modifier = Modifier,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ fun TimetableTopArea(
state: TimetableScreenScrollState,
onTimetableUiChangeClick: () -> Unit,
onSearchClick: () -> Unit,
onClickTopAreaBookMarkIcon: () -> Unit,
onClickTopAreaBookmarkIcon: () -> Unit,
modifier: Modifier = Modifier,
) {
Column(modifier = modifier) {
Expand Down Expand Up @@ -64,7 +64,7 @@ fun TimetableTopArea(
}
IconButton(
modifier = Modifier.testTag(TimetableBookmarkIconTestTag),
onClick = { onClickTopAreaBookMarkIcon() },
onClick = { onClickTopAreaBookmarkIcon() },
) {
Icon(
imageVector = Icons.Outlined.Bookmark,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import io.github.droidkaigi.confsched2023.model.TimetableItem
import io.github.droidkaigi.confsched2023.model.TimetableItemId
import io.github.droidkaigi.confsched2023.sessions.component.BookMarkItem
import io.github.droidkaigi.confsched2023.sessions.component.BookmarkItem
import kotlinx.collections.immutable.PersistentMap
import kotlinx.collections.immutable.PersistentSet

@Composable
fun BookMarkList(
fun BookmarkList(
scrollState: LazyListState,
bookmarkedTimetableItemIds: PersistentSet<TimetableItemId>,
timetableItemMap: PersistentMap<String, List<TimetableItem>>,
Expand Down Expand Up @@ -58,10 +58,10 @@ fun BookMarkList(
}
}
}
BookMarkItem(
BookmarkItem(
bookmarkedTimetableItemIds = bookmarkedTimetableItemIds,
timetableItem = timetableItem,
onClickBooMarkIcon = onClickBooMarkIcon,
onClickBoomarkIcon = onClickBooMarkIcon,
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,16 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.constraintlayout.compose.ConstraintLayout
import io.github.droidkaigi.confsched2023.model.TimetableItemId
import io.github.droidkaigi.confsched2023.sessions.BookMarkScreenUiState
import io.github.droidkaigi.confsched2023.sessions.BookMarkScreenUiState.Empty
import io.github.droidkaigi.confsched2023.sessions.BookMarkScreenUiState.ListBookMark
import io.github.droidkaigi.confsched2023.sessions.component.BookMarkFilter
import io.github.droidkaigi.confsched2023.sessions.BookmarkScreenUiState
import io.github.droidkaigi.confsched2023.sessions.BookmarkScreenUiState.Empty
import io.github.droidkaigi.confsched2023.sessions.BookmarkScreenUiState.ListBookmark
import io.github.droidkaigi.confsched2023.sessions.component.BookmarkFilter

@Composable
fun BookMarkSheet(
uiState: BookMarkScreenUiState,
fun BookmarkSheet(
uiState: BookmarkScreenUiState,
scrollState: LazyListState,
onClickBookMarkIcon: (TimetableItemId) -> Unit,
onClickBookmarkIcon: (TimetableItemId) -> Unit,
onClickAllFilterChip: () -> Unit,
onClickDayFirstChip: () -> Unit,
onClickDaySecondChip: () -> Unit,
Expand All @@ -42,7 +42,7 @@ fun BookMarkSheet(
Column(
modifier = modifier.fillMaxSize(),
) {
BookMarkFilter(
BookmarkFilter(
currentDayFilter = uiState.currentDayFilter,
onClickAllFilterChip = onClickAllFilterChip,
onClickDayFirstChip = onClickDayFirstChip,
Expand All @@ -55,12 +55,12 @@ fun BookMarkSheet(
EmptyView()
}

is ListBookMark -> {
BookMarkList(
is ListBookmark -> {
BookmarkList(
scrollState = scrollState,
bookmarkedTimetableItemIds = uiState.bookmarkedTimetableItemIds,
timetableItemMap = uiState.timetableItemMap,
onClickBooMarkIcon = onClickBookMarkIcon,
onClickBooMarkIcon = onClickBookmarkIcon,
modifier = Modifier.padding(start = 16.dp),
)
}
Expand Down

0 comments on commit b4fe687

Please sign in to comment.