@@ -90,20 +90,8 @@ fun SponsorScreen(onNavigateBack: () -> Unit) {
9090 .padding(16 .dp),
9191 verticalArrangement = Arrangement .spacedBy(16 .dp),
9292 ) {
93- // Hero section
9493 HeroSection ()
9594
96- // Golden Kodee voting CTA - the highlight
97- GoldenKodeeCard (
98- onRegisterClick = {
99- onOpenUrl(" https://golden-kodee.awardsplatform.com/" )
100- },
101- onVoteClick = {
102- onOpenUrl(" https://golden-kodee.awardsplatform.com/entry/vote/mNKjQxkX" )
103- },
104- )
105-
106- // Financial support options
10795 SponsorOptionCard (
10896 icon = Icons .Filled .Favorite ,
10997 title = stringResource(Res .string.sponsor_github_sponsors),
@@ -124,10 +112,8 @@ fun SponsorScreen(onNavigateBack: () -> Unit) {
124112
125113 Spacer (Modifier .height(8 .dp))
126114
127- // Other ways to help
128115 OtherWaysSection (onOpenUrl = onOpenUrl)
129116
130- // Thank you note
131117 Text (
132118 text = stringResource(Res .string.sponsor_thank_you),
133119 style = MaterialTheme .typography.bodyLarge,
@@ -201,141 +187,6 @@ private fun HeroSection() {
201187 }
202188}
203189
204- @OptIn(ExperimentalMaterial3ExpressiveApi ::class )
205- @Composable
206- private fun GoldenKodeeCard (
207- onRegisterClick : () -> Unit ,
208- onVoteClick : () -> Unit ,
209- ) {
210- Card (
211- modifier = Modifier .fillMaxWidth(),
212- colors =
213- CardDefaults .cardColors(
214- containerColor = MaterialTheme .colorScheme.primaryContainer,
215- ),
216- shape = RoundedCornerShape (28 .dp),
217- ) {
218- Column (
219- modifier =
220- Modifier
221- .fillMaxWidth()
222- .padding(20 .dp),
223- horizontalAlignment = Alignment .CenterHorizontally ,
224- ) {
225- Icon (
226- imageVector = Icons .Filled .EmojiEvents ,
227- contentDescription = null ,
228- modifier = Modifier .size(48 .dp),
229- tint = MaterialTheme .colorScheme.onPrimaryContainer,
230- )
231-
232- Spacer (Modifier .height(12 .dp))
233-
234- Text (
235- text = stringResource(Res .string.sponsor_kodee_title),
236- style = MaterialTheme .typography.titleLargeEmphasized,
237- fontWeight = FontWeight .Bold ,
238- color = MaterialTheme .colorScheme.onPrimaryContainer,
239- textAlign = TextAlign .Center ,
240- )
241-
242- Spacer (Modifier .height(8 .dp))
243-
244- Text (
245- text = stringResource(Res .string.sponsor_kodee_subtitle),
246- style = MaterialTheme .typography.bodyMedium,
247- color = MaterialTheme .colorScheme.onPrimaryContainer.copy(alpha = 0.8f ),
248- textAlign = TextAlign .Center ,
249- )
250-
251- Spacer (Modifier .height(16 .dp))
252-
253- // Steps
254- Column (
255- modifier =
256- Modifier
257- .fillMaxWidth()
258- .clip(RoundedCornerShape (16 .dp))
259- .background(MaterialTheme .colorScheme.onPrimaryContainer.copy(alpha = 0.08f ))
260- .padding(12 .dp),
261- verticalArrangement = Arrangement .spacedBy(4 .dp),
262- ) {
263- Text (
264- text = stringResource(Res .string.sponsor_kodee_step1),
265- style = MaterialTheme .typography.bodySmall,
266- color = MaterialTheme .colorScheme.onPrimaryContainer.copy(alpha = 0.8f ),
267- )
268- Text (
269- text = stringResource(Res .string.sponsor_kodee_step2),
270- style = MaterialTheme .typography.bodySmall,
271- color = MaterialTheme .colorScheme.onPrimaryContainer.copy(alpha = 0.8f ),
272- )
273- Text (
274- text = stringResource(Res .string.sponsor_kodee_step3),
275- style = MaterialTheme .typography.bodySmall,
276- color = MaterialTheme .colorScheme.onPrimaryContainer.copy(alpha = 0.8f ),
277- )
278- }
279-
280- Spacer (Modifier .height(16 .dp))
281-
282- Row (
283- modifier = Modifier .fillMaxWidth(),
284- horizontalArrangement = Arrangement .spacedBy(8 .dp),
285- ) {
286- FilledTonalButton (
287- onClick = onRegisterClick,
288- modifier = Modifier .weight(1f ),
289- shape = RoundedCornerShape (16 .dp),
290- colors =
291- ButtonDefaults .filledTonalButtonColors(
292- containerColor = MaterialTheme .colorScheme.onPrimaryContainer.copy(alpha = 0.15f ),
293- contentColor = MaterialTheme .colorScheme.onPrimaryContainer,
294- ),
295- ) {
296- Text (
297- text = stringResource(Res .string.sponsor_kodee_register),
298- style = MaterialTheme .typography.titleSmall,
299- fontWeight = FontWeight .SemiBold ,
300- )
301- }
302-
303- ElevatedButton (
304- onClick = onVoteClick,
305- modifier = Modifier .weight(1f ),
306- shape = RoundedCornerShape (16 .dp),
307- colors =
308- ButtonDefaults .elevatedButtonColors(
309- containerColor = MaterialTheme .colorScheme.primary,
310- contentColor = MaterialTheme .colorScheme.onPrimary,
311- ),
312- ) {
313- Icon (
314- imageVector = Icons .Filled .EmojiEvents ,
315- contentDescription = null ,
316- modifier = Modifier .size(18 .dp),
317- )
318- Spacer (Modifier .width(6 .dp))
319- Text (
320- text = stringResource(Res .string.sponsor_kodee_vote),
321- style = MaterialTheme .typography.titleSmall,
322- fontWeight = FontWeight .Bold ,
323- )
324- }
325- }
326-
327- Spacer (Modifier .height(8 .dp))
328-
329- Text (
330- text = stringResource(Res .string.sponsor_kodee_deadline),
331- style = MaterialTheme .typography.labelMedium,
332- color = MaterialTheme .colorScheme.onPrimaryContainer.copy(alpha = 0.6f ),
333- fontWeight = FontWeight .Medium ,
334- )
335- }
336- }
337- }
338-
339190@OptIn(ExperimentalMaterial3ExpressiveApi ::class )
340191@Composable
341192private fun SponsorOptionCard (
0 commit comments