Skip to content

[Feature branch] Year-in-review #5370

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
wants to merge 60 commits into
base: main
Choose a base branch
from
Open

[Feature branch] Year-in-review #5370

wants to merge 60 commits into from

Conversation

voyagerfan
Copy link
Contributor

@voyagerfan voyagerfan commented Mar 3, 2025

What does this do?

Adds Year-in-review entry point to the More menu of the Explore feed

Why is this needed?

Supports task T387595 for EPIC T387034

Phabricator:
https://phabricator.wikimedia.org/T387034
https://phabricator.wikimedia.org/T387595

Copy link
Collaborator

@cooltey cooltey left a comment

Choose a reason for hiding this comment

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

Thanks for creating this feature branch! Just have some review comments:

@cooltey cooltey added WIP Work in progress HOLD Will review as soon as other more pressing PRs are merged/released. labels Mar 4, 2025
@voyagerfan voyagerfan requested a review from cooltey March 4, 2025 19:57
voyagerfan and others added 15 commits March 6, 2025 14:15
* update dependencies, manifest. Add yearinreview package with navigation and test screen

* fix linting errors

* fix remaining linting error

* removed 'exported' attribute and added BaseTheme to the NavHost testscreen
… (#5385)

* Created ClickListner for 'Year in Review' selection and linked to YearInReviewActivity

* modified newIntent and yearInReviewClick() to remove the userName as a parameter
* main:
  Reduce ANRs: make all HistoryEntry DAO functions suspend. (#5419)
  Bump the kotlin-ksp group with 6 updates (#5416)
  Fix: license links do not match the libraries
* WIP: current changes, removed unecessary file changes

* add string resources and modify colors

* added wikithemes modified scrolling behavior

* remove unecessary implementations for Gifs

* add strings to values-qq folder, added Wikitheme typography

* adding libs folder

* correcting linting errors

* fixing additional linting errors

* added base theme for preview rendering

* fix linting errors

* added screen date, gifs, strings and navigation for scaffold and navhost

* Delete app/src/main/java/org/wikipedia/yearinreview/testCode2.kt

This file is not needed for the repo and is being removed.

* fixing linting errors

* fixing remaining linting errors

* correcting last linting error

* replace icons, adjust composable tint & color, add gradle files

* update icons, adjust composable themes, add gradle files

* added navigation, re-organized YearInReviewActivity for readability

* fix linting errors

* removed unused depenency references in version catalog

* changed gifResource to imageResource per feedback

* separated the getstarted string name reference string an underscore

* added underscore to string names with readcount and editcount

* added format specifier %d to string resources & temporarly hardcoded scaffold with a value

* replace TODO with Unit & GetStared Enum with Onboarding

* changed YearInReviewScreenScaffold to YearInReviewScreen

* removed fetchedData property from YearInReviewScreenData

* moved scrollState to YearInReviewScreen function

* moved pagerState from activity to YearInReviewScreen composable

* clean up linting errors, rename GetStartedBottomBar to OnboardingBottomBar

* refactored use scrollstate only in the YearInReviewScreenContent composable

* correct linting errors

* added %d references for qq-strings

* remove redundant string names in values-qq
Follow up: Year-in-review code format optimization
)

* added dot pagination with contraint layout, changed TODO's, added pages to test size gradient

* fix linting errors

* populated NavHost properties to remove default nav transitions

* refactor paginationSizeGradient, modified BottomAppBar for top border only

* added comment for test screens, updated parameter naming

* added animation for smoothness, update variable naming for clarity

* removed drawline and added HorizontalDivider
Follow-up: YiR pagination and code formats update
@Williamrai
Copy link
Collaborator

Looks good now. Please remove the Compose ConstraintLayout library, as it's no longer needed.

@voyagerfan
Copy link
Contributor Author

@Williamrai The constraint layout dependency has been removed now now. Thanks for catching that.

voyagerfan and others added 24 commits May 2, 2025 13:49
* added dot pagination with contraint layout, changed TODO's, added pages to test size gradient

* fix linting errors

* populated NavHost properties to remove default nav transitions

* refactor paginationSizeGradient, modified BottomAppBar for top border only

* added comment for test screens, updated parameter naming

* added animation for smoothness, update variable naming for clarity

* removed drawline and added HorizontalDivider

* added api & db calls, viewmodel, updated strings

* remove accidentally duplicated qq-strings after merge

* add gif assets for collective slides

* add non-english collective slide text

* added nonEnglish collective data and fetchedargs property

* optimize DB query, implment Resource class with screen List

* remove commented code in test screen and unused data class

* add qq-strings for non-english collective screens

* add application context to viewmodel and reorganized string formatting

* removed unecessary parameters from getUserContribsByTimeFrame API call

* renamed query, adjusted query for displayTitles

* remove factory class, rework viewmodel instatiation, add WikipediaApp instance

* simplified getDisplayTitles query, moved span tag extraction to viewModel

* created LoadingIndicator composable and added to YearInReviewActivity

* Adapt API calls for LocalDateTime

* clean up linting errors

* refactored to convert start & end times to be of type Instant

* Add WikiErrorView

* removed unused error branch in YearInReviewActivity

* fixing linting error
Follow-up: viewModel for YearInReview
* integrate DonateDialog class into YiR donate button

* removed casting and replaced with instance reference of the class

* refactored to not pass class instance for Donate functionality

* re-organized MainBottomBar parameters
* add breadcrumb and donation tracking

* add imports for breadcrumb and donation

* add placeholder for campaignId

* removed duplicate clickable

* added ripple animation to clickable donate row

* changed campainId to 'yir'

* Add function invocation for onDonateClick

* moved instrumentation calls to lambda in YearInReviewActivity
…5048 (#5588)

* replaced instances of AndroidView with AsyncImage Composable

* removed context unused context variable

* add strings for AsyncImage content description

* add positions for strings with multiple format specifiers

* removed unecessary backslashes

* replaced %s values with percent %d where appropriate

* add plurals and modidfy viewModel to use plurals

* added minimum edit count conditional for personalized screen to mimic ios version
…394815 (#5579)

* remove info icon from onboarding screen, adding MediaWiki links

* add media wiki url to the strings folder

* add string resources to UI, removed apostrophe from qq-strings

* remove replace child composable context with activity context

* fix linting error

* move mediawiki link to strings_no_transalte and remove everywhere else

* removed pagerState from onboarding composable route
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HOLD Will review as soon as other more pressing PRs are merged/released. WIP Work in progress
Development

Successfully merging this pull request may close these issues.

3 participants