1+ package org.wikipedia.yearinreview
2+
3+ import org.wikipedia.R
4+
5+ fun nonLoggedInEnglishGeneralSlides (): List <YearInReviewScreenData .StandardScreen > {
6+ // TODO: Show a bunch of generic slides for English users - non-logged in.
7+ return listOf (
8+ spentReadingHoursScreen(1 ),
9+ spentReadingHoursScreen(1 )
10+ )
11+ }
12+
13+ fun nonLoggedInGeneralSlides (): List <YearInReviewScreenData .StandardScreen > {
14+ // TODO: Show a bunch of generic slides for non-English users - non-logged in.
15+ return listOf (
16+ spentReadingHoursScreen(1 ),
17+ spentReadingHoursScreen(1 )
18+ )
19+ }
20+
21+ fun loggedInEnglishSlides (): List <YearInReviewScreenData .StandardScreen > {
22+ // TODO: Show a bunch of generic slides for logged in English users.
23+ return listOf (
24+ spentReadingHoursScreen(1 ),
25+ spentReadingHoursScreen(1 )
26+ )
27+ }
28+
29+ fun loggedInGeneralSlides (): List <YearInReviewScreenData .StandardScreen > {
30+ // TODO: Show a bunch of generic slides for logged in users.
31+ return listOf (
32+ spentReadingHoursScreen(1 ),
33+ spentReadingHoursScreen(1 )
34+ )
35+ }
36+
37+ fun spentReadingHoursScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
38+ // TODO: yir123
39+ return YearInReviewScreenData .StandardScreen (
40+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
41+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
42+ headlineText = " We spent over 2 billion hours reading" ,
43+ bodyText = " TBD"
44+ )
45+ }
46+
47+ fun spentReadingMinutesScreen (isEnglishWiki : Boolean , vararg params : Int ): YearInReviewScreenData .StandardScreen {
48+ // TODO: yir99 + yir100 => need to check if it is en or not en
49+ return YearInReviewScreenData .StandardScreen (
50+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
51+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
52+ headlineText = " You spent 924 minutes reading 350 articles in 2025" ,
53+ bodyText = " TBD"
54+ )
55+ }
56+
57+ fun popularArticlesScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
58+ // TODO: yir127 + 104
59+ return YearInReviewScreenData .StandardScreen (
60+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
61+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
62+ headlineText = " English Wikipedia’s most popular articles" ,
63+ bodyText = " TBD"
64+ )
65+ }
66+
67+ fun globalSavedArticlesScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
68+ // TODO: yir126
69+ return YearInReviewScreenData .StandardScreen (
70+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
71+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
72+ headlineText = " We had over 37 million saved articles" ,
73+ bodyText = " TBD"
74+ )
75+ }
76+
77+ fun availableLanguagesScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
78+ // TODO: yir123
79+ return YearInReviewScreenData .StandardScreen (
80+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
81+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
82+ headlineText = " Wikipedia was available in more than 300 languages" ,
83+ bodyText = " TBD"
84+ )
85+ }
86+
87+ fun viewedArticlesTimesScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
88+ // TODO: yir125 + yir103
89+ return YearInReviewScreenData .StandardScreen (
90+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
91+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
92+ headlineText = " We have viewed Wikipedia articles more than 1 billion times" ,
93+ bodyText = " TBD"
94+ )
95+ }
96+
97+ fun readingPatternsScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
98+ // TODO: yir106 + yir107
99+ return YearInReviewScreenData .StandardScreen (
100+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
101+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
102+ headlineText = " You have clear reading patterns" ,
103+ bodyText = " TBD"
104+ )
105+ }
106+
107+ fun interestingCategoriesScreen (isEnglishWiki : Boolean , params : Int ): YearInReviewScreenData .StandardScreen {
108+ // TODO: yir108 + yir110 => confirm the difference.
109+ return YearInReviewScreenData .StandardScreen (
110+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
111+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
112+ headlineText = " Your most interesting categories" ,
113+ bodyText = " TBD"
114+ )
115+ }
116+
117+ fun topArticlesScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
118+ // TODO: yir109 + yir105
119+ return YearInReviewScreenData .StandardScreen (
120+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
121+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
122+ headlineText = " Your top articles" ,
123+ bodyText = " TBD"
124+ )
125+ }
126+
127+ fun geoWithArticlesScreen (vararg params : Int ): YearInReviewScreenData .GeoScreen {
128+ // TODO: yir112
129+ return YearInReviewScreenData .GeoScreen (
130+ coordinates = mapOf (" lat" to listOf (34 , 56 ), " lon" to listOf (- 123 , 45 )),
131+ headlineText = " Articles you read are closest to France" ,
132+ bodyText = " TBD"
133+ )
134+ }
135+
136+ fun localSavedArticlesScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
137+ // TODO: yir113
138+ return YearInReviewScreenData .StandardScreen (
139+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
140+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
141+ headlineText = " You saved 25 articles" ,
142+ bodyText = " TBD"
143+ )
144+ }
145+
146+ fun editedTimesScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
147+ // TODO: yir114
148+ return YearInReviewScreenData .StandardScreen (
149+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
150+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
151+ headlineText = " You edited Wikipedia 150 times" ,
152+ bodyText = " TBD"
153+ )
154+ }
155+
156+ fun editedViewsScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
157+ // TODO: yir115
158+ return YearInReviewScreenData .StandardScreen (
159+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
160+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
161+ headlineText = " Your edits have been viewed more than 14,791 times recently" ,
162+ bodyText = " TBD"
163+ )
164+ }
165+
166+ fun editorsEditsScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
167+ // TODO: yir116
168+ return YearInReviewScreenData .StandardScreen (
169+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
170+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
171+ headlineText = " Editors on the official Wikipedia apps made more than 452,257 edits" ,
172+ bodyText = " TBD"
173+ )
174+ }
175+
176+ fun editedPerMinuteScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
177+ // TODO: yir117
178+ return YearInReviewScreenData .StandardScreen (
179+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
180+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
181+ headlineText = " Wikipedia was edited 342 times per minute" ,
182+ bodyText = " TBD"
183+ )
184+ }
185+
186+ fun editorsChangesScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
187+ // TODO: yir118
188+ return YearInReviewScreenData .StandardScreen (
189+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
190+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
191+ headlineText = " Editors made nearly 82 million changes this year" ,
192+ bodyText = " TBD"
193+ )
194+ }
195+
196+ fun addedBytesScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
197+ // TODO: yir119
198+ return YearInReviewScreenData .StandardScreen (
199+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
200+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
201+ headlineText = " Over 3 billion bytes added" ,
202+ bodyText = " TBD"
203+ )
204+ }
205+
206+ fun newIconUnlockedScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
207+ // TODO: yir121
208+ return YearInReviewScreenData .StandardScreen (
209+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
210+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
211+ headlineText = " New icon unlocked" ,
212+ bodyText = " TBD" ,
213+ unlockIcon = UnlockIconConfig (
214+ isUnlocked = true
215+ )
216+ )
217+ }
218+
219+ fun unlockCustomIconScreen (vararg params : Int ): YearInReviewScreenData .StandardScreen {
220+ // TODO: yir122
221+ return YearInReviewScreenData .StandardScreen (
222+ animatedImageResource = R .drawable.year_in_review_puzzle_pieces,
223+ staticImageResource = R .drawable.year_in_review_puzzle_pieces,
224+ headlineText = " Unlock your custom contributor icon" ,
225+ bodyText = " TBD" ,
226+ bottomButton = ButtonConfig (
227+ text = " Donate" ,
228+ onClick = { /* TODO: handle click */ }
229+ )
230+ )
231+ }
232+
233+ fun highlightScreen (isLoggedIn : Boolean , isEnglishWiki : Boolean , vararg params : Int ): YearInReviewScreenData .HighlightsScreen {
234+ // TODO: yir122
235+ return YearInReviewScreenData .HighlightsScreen (
236+ highlights = listOf (
237+ " You read 350 articles" ,
238+ " You saved 25 articles" ,
239+ " You edited Wikipedia 150 times"
240+ ),
241+ headlineText = if (isLoggedIn) " Your 2025 highlights" else " 2025 highlights"
242+ )
243+ }
0 commit comments