Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apply bookmark screen design #260

Merged
merged 29 commits into from
Jul 18, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
f56487e
Move to BookMarkScreen
mtkw0127 Jul 11, 2023
86d24dd
Fix lint error
mtkw0127 Jul 11, 2023
c290a0a
Fix the name of testTag
mtkw0127 Jul 11, 2023
7e04ea3
Add BookMarkScreenViewModel
mtkw0127 Jul 11, 2023
43886bb
Fix lint error
mtkw0127 Jul 11, 2023
68c1400
Use sealed interface for UiState
mtkw0127 Jul 11, 2023
d275816
Add Empty BookMarkScreen
mtkw0127 Jul 12, 2023
7657705
Add List BookMarkScreen Roughly
mtkw0127 Jul 13, 2023
f759753
Merge branch 'main' into feature/apply-bookmark-screen-design
mtkw0127 Jul 16, 2023
24978d8
Add Filter Feature
mtkw0127 Jul 16, 2023
b8cc144
Toggle bookmark
mtkw0127 Jul 16, 2023
e637c41
Add OnBackPress
mtkw0127 Jul 16, 2023
e2b91c8
Show Filter in EmptyView
mtkw0127 Jul 16, 2023
ae20277
Sort BookMarkItems
mtkw0127 Jul 16, 2023
b4e44bf
Fix TopBar
mtkw0127 Jul 16, 2023
f36dedc
Fix TopBar
mtkw0127 Jul 16, 2023
5e61dc1
Grouped ListItem By Time
mtkw0127 Jul 16, 2023
f557aad
Grouped ListItem By Time
mtkw0127 Jul 16, 2023
736fff7
Add checkNavigateToBookmarkShot
mtkw0127 Jul 17, 2023
b4fe687
Replace BookMark to Bookmark
mtkw0127 Jul 17, 2023
135e6c4
Add Preview and Fix border
mtkw0127 Jul 17, 2023
fd2b163
Merge branch 'main' into feature/apply-bookmark-screen-design
mtkw0127 Jul 17, 2023
d0b76b2
Fix ChipBorder
mtkw0127 Jul 17, 2023
341706c
Fix ChipStyle
mtkw0127 Jul 17, 2023
02986bf
Fix modifier of BookmarkSheet
mtkw0127 Jul 17, 2023
3191ac3
Define const string value in SessionsStrings
mtkw0127 Jul 17, 2023
4b3e70d
Define const string value in SessionsStrings
mtkw0127 Jul 17, 2023
87a42da
Add FIXME
takahirom Jul 18, 2023
7afc39e
Add FIXME
takahirom Jul 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import io.github.droidkaigi.confsched2023.main.MainScreenTab.Timetable
import io.github.droidkaigi.confsched2023.main.mainScreen
import io.github.droidkaigi.confsched2023.main.mainScreenRoute
import io.github.droidkaigi.confsched2023.sessions.navigateTimetableScreen
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.sessionScreens
Expand Down Expand Up @@ -76,6 +77,9 @@ private fun NavGraphBuilder.mainScreen(navController: NavHostController) {
timetableitem.id,
)
},
onClickBookMarkIcon = {
navController.navigateToBookMarkScreen()
}
)
composable(contributorsScreenRoute) {
ContributorsScreen(hiltViewModel<ContributorsViewModel>())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ class TimetableScreenRobot @Inject constructor(
KaigiTheme {
TimetableScreen(
onTimetableItemClick = { },
onClickBookMarkIcon = { },
)
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package io.github.droidkaigi.confsched2023.sessions

import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.navigation.NavController

const val bookMarkScreenRoute = "bookMark"

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

@Composable
fun BookMarkScreen(
modifier: Modifier = Modifier,
) {
Text("ブックマーク画面")
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ fun NavGraphBuilder.sessionScreens(onNavigationIconClick: () -> Unit) {
onNavigationIconClick = onNavigationIconClick,
)
}
composable(bookMarkScreenRoute) {
BookMarkScreen()
}
}

fun NavController.navigateToTimetableItemDetailScreen(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,12 @@ import kotlin.math.roundToInt
const val timetableScreenRoute = "timetable"
fun NavGraphBuilder.nestedSessionScreens(
onTimetableItemClick: (TimetableItem) -> Unit,
onClickBookMarkIcon: () -> Unit,
) {
composable(timetableScreenRoute) {
TimetableScreen(
onTimetableItemClick = onTimetableItemClick,
onClickBookMarkIcon = onClickBookMarkIcon,
)
}
}
Expand All @@ -47,6 +49,7 @@ const val TimetableScreenTestTag = "TimetableScreen"
@Composable
fun TimetableScreen(
onTimetableItemClick: (TimetableItem) -> Unit,
onClickBookMarkIcon: () -> Unit,
viewModel: TimetableScreenViewModel = hiltViewModel<TimetableScreenViewModel>(),
) {
val uiState by viewModel.uiState.collectAsState()
Expand All @@ -61,6 +64,7 @@ fun TimetableScreen(
snackbarHostState = snackbarHostState,
onTimetableItemClick = onTimetableItemClick,
onBookmarkClick = viewModel::onBookmarkClick,
onClickBookMarkIcon = onClickBookMarkIcon,
onTimetableUiChangeClick = viewModel::onUiTypeChange,
)
}
Expand All @@ -75,6 +79,7 @@ private fun TimetableScreen(
snackbarHostState: SnackbarHostState,
onTimetableItemClick: (TimetableItem) -> Unit,
onBookmarkClick: (TimetableItem) -> Unit,
onClickBookMarkIcon: () -> Unit,
onTimetableUiChangeClick: () -> Unit,
) {
val state = rememberTimetableScreenScrollState()
Expand All @@ -89,7 +94,7 @@ private fun TimetableScreen(
)
},
topBar = {
TimetableTopArea(state, onTimetableUiChangeClick)
TimetableTopArea(state, onTimetableUiChangeClick, onClickBookMarkIcon)
},
containerColor = MaterialTheme.colorScheme.surfaceVariant,
contentWindowInsets = WindowInsets(0.dp),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.AccountBox
import androidx.compose.material.icons.filled.Add
import androidx.compose.material.icons.filled.DateRange
import androidx.compose.material.icons.filled.Favorite
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
Expand All @@ -22,12 +25,14 @@ import androidx.compose.ui.unit.dp
import io.github.droidkaigi.confsched2023.sessions.strings.SessionsStrings.Timetable

const val TimetableUiTypeChangeButtonTestTag = "TimetableUiTypeChangeButton"
const val BookMarkIconTestTag = "BookMarkIconTestTag"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For your reference, now that you added the test tag, you can add test to check the screenshot like checkNavigateToContributorShot() in KaigiAppTest 👍

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a top-level constant, so perhaps a name like "TimetableBookmarkIconTestTag" would be better.


@Composable
@OptIn(ExperimentalMaterial3Api::class)
fun TimetableTopArea(
state: TimetableScreenScrollState,
onTimetableUiChangeClick: () -> Unit,
onClickTopAreaBookMarkIcon: () -> Unit,
modifier: Modifier = Modifier,
) {
Column(modifier = modifier) {
Expand All @@ -46,6 +51,16 @@ fun TimetableTopArea(
contentDescription = Timetable.asString(),
)
}

IconButton(
modifier = Modifier.testTag(BookMarkIconTestTag),
onClick = { onClickTopAreaBookMarkIcon() },
) {
Icon(
imageVector = Icons.Default.Favorite,
contentDescription = Timetable.asString(),
)
}
},
colors = TopAppBarDefaults.largeTopAppBarColors(
containerColor = MaterialTheme.colorScheme.surfaceVariant,
Expand Down
Loading