-
-
Couldn't load subscription status.
- Fork 738
Yir highlights #6009
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
Open
Williamrai
wants to merge
136
commits into
main
Choose a base branch
from
yir-highlights
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Yir highlights #6009
Changes from 116 commits
Commits
Show all changes
136 commits
Select commit
Hold shift + click to select a range
8d2040b
YiR: Pre-design scaffolding
cooltey 0916538
Merge branch 'main' into yir-re-design
cooltey 350cf1b
Wire up API calls and put TODOs
cooltey f0557c0
Put async for api calls
cooltey 6f2b7fb
Merge branch 'main' into yir-re-design
cooltey 42f85eb
Format for the headline/body text
cooltey e385bb0
Revert "Format for the headline/body text"
cooltey 84b73de
Separate initial screen out
cooltey 26655a5
Onboarding
cooltey 344f904
Simplify a bit
cooltey 43700b5
Initial thought about indivial screens
cooltey 9d93c41
Merge branch 'main' into yir-re-design
cooltey cdb2548
Add temporary functions for slides
cooltey 9cbbf1f
Review comment
cooltey 259209c
clean up async
cooltey d7237fc
Fix error
cooltey 7595e56
Consolidate routes
cooltey 65409d7
Update a bit
cooltey ce28f83
Merge branch 'main' into yir-re-design
cooltey d4c4592
Remove survey for now and refine the finish action for onboarding and
cooltey 18256af
Fix preview
cooltey 1aff666
YiR: update entry point in More menu. (#5964)
dbrant f8c7114
YiR: Login dialog in the onboarding screen. (#5965)
dbrant 711a974
Model class
cooltey 1379200
use data class
cooltey 095c7b5
Merge branch 'main' into yir-re-design
cooltey 785e946
Create dataModel for YiR
cooltey 20f226a
Update model
cooltey 3fec482
Update model class and add todos
cooltey b2a8abb
Update query for top visited articles
cooltey d8d3cd2
No longer use CenterAlignedTopAppBar with W icon.
dbrant 4266944
Merge branch 'main' into yir-re-design
cooltey 3529736
Wire up onboarding screen to PageActivity, with result.
dbrant c1fa000
Merge branch 'yir-re-design' of github.com:wikimedia/apps-android-wik…
dbrant 246b99e
Update naming and fix lint
cooltey 45e73cf
Add two parameters for YearInReviewSlides
cooltey a129b12
Clean up outdated strings
cooltey e898995
Add filterNotNull() for slide routes
cooltey 1f121e1
Fix translation test
cooltey a3ee3a7
YiR: save YiR model data to preference (#5967)
cooltey 1e43871
YiR: Create Most visited Categories slide (#5968)
cooltey b16c57d
YiR: Create Your Top Articles slide (#5969)
cooltey 8be18fc
Merge branch 'main' into yir-re-design
cooltey cf67139
Fix translation
cooltey ef1576d
YiR: Create Viewed Edits slide (#5970)
cooltey a323891
YiR: Add English most popular articles slide (#5971)
cooltey 44fcdc6
Merge branch 'main' into yir-re-design
cooltey ecaa1a8
YiR: Add Setting to enable/disable. (#5978)
dbrant 7988f7e
Remove duplicated preference from developer settings
cooltey ba82c1e
Swap donate icon with share icon and adjust the UI a bit
cooltey fa906ef
YiR: Create Articles Saved slide (#5972)
cooltey 884448e
YiR: Update # of articles edited slide (#5979)
cooltey e6d7e04
Merge branch 'main' into yir-re-design
cooltey d34b05e
Fix translation
cooltey 3adcfd2
Use year constant instead of LocalDate.
dbrant bba160d
YiR: Custom app icon (#5974)
dbrant b25e2d4
Merge branch 'main' into yir-re-design
dbrant f74b97c
Tweak verbiage per design.
dbrant 98a77af
YiR: Create Reading Patterns slide (#5982)
cooltey 52f92b4
Use localtime for queries and minor code updates
cooltey 88b444f
Update MW info links.
dbrant 850b6b3
Rename string items a bit
cooltey 2bbdd56
Merge branch 'main' into yir-re-design
cooltey df380a6
Merge branch 'main' into yir-re-design
cooltey 322dab9
Merge branch 'main' into yir-re-design
cooltey 350014d
Prioritize categories that have 2+ spaces.
dbrant 1d635a6
Merge branch 'yir-re-design' of github.com:wikimedia/apps-android-wik…
dbrant 12b37d3
Merge branch 'main' into yir-re-design
cooltey 1bf48b6
YiR: Create contributor slides (#5991)
cooltey dc91e9a
YiR: Update personalized "articles read" slides (#5988)
cooltey 2101cdd
Fully integrate with remote config.
dbrant 5ca7b51
Correct color.
dbrant c02836b
Merge branch 'main' into yir-re-design
Williamrai 7256c1f
Fetch remote config explicitly.
dbrant 0013a71
Unnecessary intermediate vars.
dbrant 5306a9f
Update onboarding illustration.
dbrant 29078a9
Merge branch 'main' into yir-re-design
cooltey ee1b161
YiR: add a filter for the top visited articles to show if visited > 1…
cooltey db3f290
Merge branch 'main' into yir-re-design
Williamrai 65cf748
- replaces navigation left button with close button in app bar (#6003)
Williamrai 56275b2
YiR: update local queries to accept time range to meet the feature re…
cooltey 33ad06c
Wire up data start/end times from remote config.
dbrant 6eacd63
Fix calculation of time spent, and explitit units naming.
dbrant 6985a68
Merge branch 'main' into yir-re-design
dbrant 1dadf5f
- adds ui for highlight slide
Williamrai d844652
YiR: Wire up actual total enabling/disabling based on configuration. …
dbrant c3ec1a1
- adds proper data for all cases of highlights screen
Williamrai a9b0d8e
Update style of Donate button.
dbrant e373872
Correct divider color.
dbrant f6603c1
Don't actually need a BottomAppBar.
dbrant ef9221c
Merge branch 'yir-re-design' of github.com:wikimedia/apps-android-wik…
dbrant 71f3890
Improve naming and thread allowDonate throughout.t
dbrant 08b77c5
Reinstitute rounded corner clipping.
dbrant 0dce3c6
- code fixes and adds editor highlight
Williamrai 3aeaa75
YiR: update app articles viewed times screen
cooltey be4d996
Merge remote-tracking branch 'origin/yir-re-design' into yir-highlights
Williamrai 72deb14
Merge branch 'main' into yir-re-design
cooltey 0b2e656
- code merge fixes
Williamrai 96c4f22
- ensures bottom bar is drawn above the navigation bar (#6013)
Williamrai 5242376
Merge remote-tracking branch 'origin/yir-re-design' into yir-highlights
Williamrai f4feeab
- code fixes
Williamrai f1fedf6
Merge branch 'main' into yir-re-design
dbrant 270f077
Complete integration with isAccessible from remote config.
dbrant 41ebebf
- adds screen capture handler
Williamrai c503c9b
Merge remote-tracking branch 'origin/yir-re-design' into yir-highlights
Williamrai b2bf6ab
- code cleanup and fixes
Williamrai 178c2ea
- code cleanup and fixes
Williamrai d1cfb93
Merge remote-tracking branch 'origin/main' into yir-highlights
Williamrai d2c385a
- code fixes
Williamrai a8215ea
- string fixes
Williamrai 9936d68
- code fixes
Williamrai 81438af
Merge remote-tracking branch 'origin/main' into yir-highlights
Williamrai 94f4034
- moving remember scroll state position
Williamrai df271e7
Merge branch 'scroll-state-fix' into yir-highlights
Williamrai 6a0e0d1
- code fixes
Williamrai 3bcacd1
Merge branch 'main' into yir-highlights
cooltey 31d4769
Merge remote-tracking branch 'origin/main' into yir-highlights
Williamrai 2bab417
- update YearInReviewCaptureHandler to handle geo slide screenshot
Williamrai 6c13943
- code fixes
Williamrai 81bc766
Merge remote-tracking branch 'origin/main' into yir-highlights
Williamrai 22a070c
Merge branch 'main' into yir-highlights
Williamrai 33ab45a
- code fixes
Williamrai 2488229
Merge remote-tracking branch 'origin/yir-highlights' into yir-highlights
Williamrai ac191ff
Merge branch 'main' into yir-highlights
Williamrai bf5f5a4
Merge remote-tracking branch 'origin/main' into yir-highlights
Williamrai 8b1107b
- code fixes/merge conflict fix
Williamrai da48dbc
Merge branch 'main' into yir-highlights
Williamrai c1c6bd7
Merge branch 'main' into yir-highlights
cooltey e84a6b1
Merge remote-tracking branch 'origin/main' into yir-highlights
Williamrai 4d67b6b
- merge conflict fix
Williamrai 4d76fcf
Merge branch 'main' into yir-highlights
Williamrai 44449b5
Merge branch 'main' into yir-highlights
Williamrai a68ef71
- Scale ShareableHighlightsCard height to fill remaining space betwee…
Williamrai 18c5d4c
Merge remote-tracking branch 'origin/yir-highlights' into yir-highlights
Williamrai 43c9704
Merge branch 'main' into yir-highlights
Williamrai 99a8460
Merge branch 'main' into yir-highlights
cooltey File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
49 changes: 49 additions & 0 deletions
49
app/src/main/java/org/wikipedia/yearinreview/YearInReviewCaptureHandler.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| package org.wikipedia.yearinreview | ||
|
|
||
| import android.graphics.Bitmap | ||
| import androidx.compose.runtime.Composable | ||
| import androidx.compose.runtime.rememberCoroutineScope | ||
| import androidx.compose.ui.platform.LocalContext | ||
| import org.wikipedia.R | ||
| import org.wikipedia.util.ShareUtil | ||
|
|
||
| @Composable | ||
| fun YearInReviewCaptureHandler( | ||
| request: YearInReviewCaptureRequest, | ||
| onComplete: () -> Unit | ||
| ) { | ||
| val coroutineScope = rememberCoroutineScope() | ||
| val context = LocalContext.current | ||
|
|
||
| val shareImageCallback: (Bitmap) -> Unit = { bitmap -> | ||
| ShareUtil.shareImage( | ||
| coroutineScope = coroutineScope, | ||
| context = context, | ||
| bmp = bitmap, | ||
| imageFileName = "year_in_review", | ||
| subject = context.getString(R.string.year_in_review_share_subject), | ||
| text = context.getString(R.string.year_in_review_share_url), | ||
| onShared = onComplete | ||
| ) | ||
| } | ||
|
|
||
| when (request) { | ||
| is YearInReviewCaptureRequest.StandardScreen -> { | ||
| CreateScreenShotBitmap( | ||
| screenContent = request.screenData, | ||
| onBitmapReady = shareImageCallback | ||
| ) | ||
| } | ||
| is YearInReviewCaptureRequest.HighlightsScreen -> { | ||
| ShareHighlightsScreenCapture( | ||
| highlights = request.highlights, | ||
| onBitmapReady = shareImageCallback | ||
| ) | ||
| } | ||
| } | ||
| } | ||
|
|
||
| sealed class YearInReviewCaptureRequest { | ||
| data class StandardScreen(val screenData: YearInReviewScreenData) : YearInReviewCaptureRequest() | ||
| data class HighlightsScreen(val highlights: List<YearInReviewScreenData.HighlightItem>) : YearInReviewCaptureRequest() | ||
| } |
313 changes: 313 additions & 0 deletions
313
app/src/main/java/org/wikipedia/yearinreview/YearInReviewHighlightsScreen.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,313 @@ | ||
| package org.wikipedia.yearinreview | ||
|
|
||
| import android.graphics.Bitmap | ||
| import androidx.compose.foundation.Image | ||
| import androidx.compose.foundation.background | ||
| import androidx.compose.foundation.border | ||
| import androidx.compose.foundation.layout.Arrangement | ||
| import androidx.compose.foundation.layout.Box | ||
| import androidx.compose.foundation.layout.Column | ||
| import androidx.compose.foundation.layout.Row | ||
| import androidx.compose.foundation.layout.fillMaxSize | ||
| import androidx.compose.foundation.layout.fillMaxWidth | ||
| import androidx.compose.foundation.layout.height | ||
| import androidx.compose.foundation.layout.padding | ||
| import androidx.compose.foundation.layout.size | ||
| import androidx.compose.foundation.layout.width | ||
| import androidx.compose.foundation.rememberScrollState | ||
| import androidx.compose.foundation.verticalScroll | ||
| import androidx.compose.material3.Button | ||
| import androidx.compose.material3.ButtonDefaults | ||
| import androidx.compose.material3.MaterialTheme | ||
| import androidx.compose.material3.Text | ||
| import androidx.compose.runtime.Composable | ||
| import androidx.compose.runtime.LaunchedEffect | ||
| import androidx.compose.runtime.getValue | ||
| import androidx.compose.runtime.mutableStateOf | ||
| import androidx.compose.runtime.remember | ||
| import androidx.compose.runtime.setValue | ||
| import androidx.compose.ui.Alignment | ||
| import androidx.compose.ui.Modifier | ||
| import androidx.compose.ui.draw.drawWithContent | ||
| import androidx.compose.ui.graphics.Color | ||
| import androidx.compose.ui.graphics.asAndroidBitmap | ||
| import androidx.compose.ui.graphics.rememberGraphicsLayer | ||
| import androidx.compose.ui.layout.onGloballyPositioned | ||
| import androidx.compose.ui.res.painterResource | ||
| import androidx.compose.ui.res.stringResource | ||
| import androidx.compose.ui.text.SpanStyle | ||
| import androidx.compose.ui.text.buildAnnotatedString | ||
| import androidx.compose.ui.text.font.FontWeight | ||
| import androidx.compose.ui.text.style.TextAlign | ||
| import androidx.compose.ui.text.withStyle | ||
| import androidx.compose.ui.tooling.preview.Devices | ||
| import androidx.compose.ui.tooling.preview.Preview | ||
| import androidx.compose.ui.unit.dp | ||
| import androidx.compose.ui.unit.sp | ||
| import androidx.compose.ui.util.fastForEachIndexed | ||
| import org.wikipedia.R | ||
| import org.wikipedia.compose.ComposeColors | ||
| import org.wikipedia.compose.theme.BaseTheme | ||
| import org.wikipedia.compose.theme.WikipediaTheme | ||
| import org.wikipedia.theme.Theme | ||
|
|
||
| @Composable | ||
| fun YearInReviewHighlightsScreen( | ||
| modifier: Modifier = Modifier, | ||
| screenData: YearInReviewScreenData.HighlightsScreen, | ||
| onShareHighlights: () -> Unit | ||
| ) { | ||
| Column( | ||
| modifier = modifier | ||
| ) { | ||
| Text( | ||
| modifier = Modifier | ||
| .padding(top = 60.dp, bottom = 16.dp), | ||
| text = buildAnnotatedString { | ||
| append(stringResource(R.string.year_in_review_highlights_thank_you_message)) | ||
| withStyle( | ||
| style = SpanStyle( | ||
| fontWeight = FontWeight.Normal, | ||
| ) | ||
| ) { | ||
| append(" ") | ||
| append(stringResource(R.string.year_in_review_highlights_looking_forward_message)) | ||
| } | ||
| }, | ||
| color = WikipediaTheme.colors.paperColor, | ||
| style = MaterialTheme.typography.bodyLarge, | ||
| textAlign = TextAlign.Center, | ||
| fontWeight = FontWeight.Medium | ||
| ) | ||
|
|
||
| ShareableHighlightsCard( | ||
| modifier = Modifier | ||
| .fillMaxWidth() | ||
| .height(324.dp) | ||
| .background(ComposeColors.Gray100) | ||
| .border(width = 1.dp, color = ComposeColors.Gray300) | ||
| .padding(8.dp) | ||
| .verticalScroll(rememberScrollState()), | ||
| highlights = screenData.highlights, | ||
| logoDescription = "Wikipedia logo" | ||
| ) | ||
|
|
||
| Button( | ||
| modifier = Modifier | ||
| .fillMaxWidth() | ||
| .padding(top = 32.dp), | ||
| colors = ButtonDefaults.buttonColors( | ||
| containerColor = WikipediaTheme.colors.progressiveColor | ||
| ), | ||
| onClick = onShareHighlights | ||
| ) { | ||
| Text( | ||
| "Share highlights" | ||
Williamrai marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ) | ||
| } | ||
| } | ||
| } | ||
|
|
||
| @Composable | ||
| fun ShareableHighlightsCard( | ||
| modifier: Modifier = Modifier, | ||
| hashtag: String = "#WikipediaYearinReview", | ||
Williamrai marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| logoResource: Int = R.drawable.w_nav_mark, | ||
| logoDescription: String = "", | ||
| highlights: List<YearInReviewScreenData.HighlightItem>, | ||
| ) { | ||
| Column( | ||
| modifier = modifier, | ||
| horizontalAlignment = Alignment.CenterHorizontally | ||
| ) { | ||
| Text( | ||
| text = hashtag, | ||
| fontWeight = FontWeight.Bold, | ||
| fontSize = 18.sp, | ||
| lineHeight = 21.sp, | ||
| color = ComposeColors.Gray700 | ||
cooltey marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ) | ||
| Image( | ||
| modifier = Modifier | ||
| .size(163.dp) | ||
| .padding(vertical = 4.dp), | ||
| painter = painterResource(logoResource), | ||
| contentDescription = logoDescription | ||
| ) | ||
| Text( | ||
| modifier = Modifier | ||
| .padding(4.dp), | ||
| text = logoDescription, | ||
| fontSize = 12.sp, | ||
| lineHeight = 16.sp, | ||
| color = ComposeColors.Gray700 | ||
cooltey marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ) | ||
| highlights.forEach { highlightItem -> | ||
| HighlightsContent( | ||
| modifier = Modifier | ||
| .padding(top = 12.dp), | ||
cooltey marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| highlightItem = highlightItem | ||
| ) | ||
| } | ||
| } | ||
| } | ||
|
|
||
| @Composable | ||
| fun HighlightsContent( | ||
| modifier: Modifier = Modifier, | ||
| highlightItem: YearInReviewScreenData.HighlightItem | ||
| ) { | ||
| Row( | ||
| modifier = modifier | ||
| .fillMaxWidth(), | ||
| horizontalArrangement = Arrangement.spacedBy(8.dp) | ||
| ) { | ||
| Text( | ||
| modifier = Modifier | ||
| .width(98.dp), | ||
| text = highlightItem.title, | ||
| fontWeight = FontWeight.Bold, | ||
| fontSize = 14.sp, | ||
| lineHeight = 21.sp | ||
| ) | ||
|
|
||
| if (highlightItem.singleValue != null) { | ||
| Text( | ||
| text = highlightItem.singleValue, | ||
| fontSize = 14.sp, | ||
| lineHeight = 21.sp, | ||
| color = Color.Black | ||
| ) | ||
| } else { | ||
| Column { | ||
| highlightItem.items.fastForEachIndexed { index, item -> | ||
| Text( | ||
| text = buildAnnotatedString { | ||
| append("${index + 1}. ") | ||
| withStyle( | ||
| style = SpanStyle( | ||
| color = highlightItem.highlightColor | ||
| ) | ||
| ) { | ||
| append(text = item) | ||
| } | ||
| }, | ||
| lineHeight = 21.sp | ||
| ) | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
|
|
||
| @Composable | ||
| fun ShareHighlightsScreenCapture( | ||
| highlights: List<YearInReviewScreenData.HighlightItem>, | ||
| onBitmapReady: (Bitmap) -> Unit | ||
| ) { | ||
| val graphicsLayer = rememberGraphicsLayer() | ||
| var isReadyToCapture by remember { mutableStateOf(false) } | ||
|
|
||
| if (isReadyToCapture) { | ||
| LaunchedEffect(Unit) { | ||
| val bitmap = graphicsLayer.toImageBitmap() | ||
| onBitmapReady(bitmap.asAndroidBitmap()) | ||
| } | ||
| } | ||
|
|
||
| Box( | ||
| modifier = Modifier | ||
| .fillMaxSize() | ||
| .onGloballyPositioned { | ||
| isReadyToCapture = true | ||
| } | ||
| .drawWithContent { | ||
| graphicsLayer.record { | ||
| drawRect( | ||
| color = ComposeColors.White | ||
Williamrai marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ) | ||
| [email protected]() | ||
| } | ||
| } | ||
| .background(ComposeColors.White), | ||
| ) { | ||
| ShareableHighlightsCard( | ||
| modifier = Modifier | ||
| .align(Alignment.Center) | ||
| .padding(horizontal = 34.dp) | ||
| .background(ComposeColors.Gray100) | ||
| .border(width = 1.dp, color = ComposeColors.Gray300) | ||
| .padding(8.dp), | ||
| highlights = highlights | ||
| ) | ||
|
|
||
| Text( | ||
| modifier = Modifier | ||
| .align(Alignment.BottomCenter) | ||
| .padding(bottom = 16.dp), | ||
| text = stringResource(R.string.year_in_highlights_screenshot_url), | ||
| style = MaterialTheme.typography.bodyLarge | ||
| ) | ||
| } | ||
| } | ||
|
|
||
| @Preview(device = Devices.PIXEL_9) | ||
| @Composable | ||
| private fun YearInReviewHighlightsScreenPreview() { | ||
| BaseTheme( | ||
| currentTheme = Theme.LIGHT | ||
| ) { | ||
| YearInReviewHighlightsScreen( | ||
| screenData = YearInReviewScreenData.HighlightsScreen( | ||
| highlights = listOf( | ||
| YearInReviewScreenData.HighlightItem( | ||
| title = "Articles I read the longest", | ||
| items = listOf( | ||
| "Pamela Anderson", | ||
| "Pamukkale", | ||
| "History of US science fiction and fantasy magazines to 1950" | ||
| ), | ||
| highlightColor = ComposeColors.Blue600 | ||
| ) | ||
| ) | ||
| ), | ||
| onShareHighlights = {} | ||
| ) | ||
| } | ||
| } | ||
|
|
||
| @Preview | ||
| @Composable | ||
| private fun ListItemsPreview() { | ||
| BaseTheme( | ||
| currentTheme = Theme.LIGHT | ||
| ) { | ||
| HighlightsContent( | ||
| highlightItem = YearInReviewScreenData.HighlightItem( | ||
| title = "Articles I read the longest", | ||
| items = listOf( | ||
| "Pamela Anderson", | ||
| "Pamukkale", | ||
| "History of US science fiction and fantasy magazines to 1950" | ||
| ), | ||
| highlightColor = ComposeColors.Blue600 | ||
| ) | ||
| ) | ||
| } | ||
| } | ||
|
|
||
| @Preview | ||
| @Composable | ||
| private fun SingleValuePreview() { | ||
| BaseTheme( | ||
| currentTheme = Theme.LIGHT | ||
| ) { | ||
| HighlightsContent( | ||
| highlightItem = YearInReviewScreenData.HighlightItem( | ||
| title = "Minutes read", | ||
| singleValue = "924", | ||
| highlightColor = ComposeColors.Blue600 | ||
| ) | ||
| ) | ||
| } | ||
| } | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.