@@ -4,10 +4,11 @@ import androidx.compose.foundation.layout.Arrangement
44import androidx.compose.foundation.layout.Column
55import androidx.compose.foundation.layout.PaddingValues
66import androidx.compose.foundation.layout.WindowInsets
7- import androidx.compose.foundation.layout.fillMaxWidth
87import androidx.compose.foundation.layout.padding
9- import androidx.compose.foundation.rememberScrollState
10- import androidx.compose.foundation.verticalScroll
8+ import androidx.compose.foundation.lazy.grid.GridCells
9+ import androidx.compose.foundation.lazy.grid.GridItemSpan
10+ import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
11+ import androidx.compose.foundation.lazy.grid.itemsIndexed
1112import androidx.compose.material3.MaterialTheme
1213import androidx.compose.material3.Scaffold
1314import androidx.compose.material3.Text
@@ -24,7 +25,6 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
2425import com.dergoogler.mmrl.R
2526import com.dergoogler.mmrl.ui.component.HorizontalDividerWithText
2627import com.dergoogler.mmrl.ui.component.NavigateUpTopBar
27- import com.dergoogler.mmrl.ui.component.NonLazyGrid
2828import com.dergoogler.mmrl.ui.providable.LocalNavController
2929import com.dergoogler.mmrl.ui.screens.repositories.screens.exploreRepositories.items.MemberCard
3030import com.dergoogler.mmrl.ui.utils.none
@@ -53,73 +53,84 @@ fun ThankYouScreen(
5353 },
5454 contentWindowInsets = WindowInsets .none
5555 ) { innerPadding ->
56- Column (
57- modifier = Modifier
58- .padding(innerPadding)
59- .fillMaxWidth()
60- .verticalScroll(rememberScrollState()),
61- horizontalAlignment = Alignment .CenterHorizontally ,
62- verticalArrangement = Arrangement .spacedBy(16 .dp)
56+ LazyVerticalGrid (
57+ modifier = Modifier .padding(innerPadding),
58+ columns = GridCells .Fixed (2 ),
59+ contentPadding = PaddingValues (16 .dp),
60+ horizontalArrangement = Arrangement .spacedBy(16 .dp),
61+ verticalArrangement = Arrangement .spacedBy(16 .dp),
6362 ) {
64-
6563 if (sponsors.isNotNullOrEmpty()) {
66- HorizontalDividerWithText (
67- text = stringResource(
68- R .string.sponsors
69- ),
70- thickness = 0.9 .dp
71- )
64+ item(span = { GridItemSpan (2 ) }) {
65+ Column (
66+ verticalArrangement = Arrangement .Center ,
67+ horizontalAlignment = Alignment .CenterHorizontally
68+ ) {
69+ HorizontalDividerWithText (
70+ text = stringResource(
71+ R .string.sponsors
72+ ),
73+ thickness = 0.9 .dp
74+ )
7275
73- Text (
74- text = stringResource(
75- R .string.have_been_total_sponsored,
76- vm.totalSponsorAmount.toDollars()
77- ),
78- style = MaterialTheme .typography.titleSmall.copy(
79- color = MaterialTheme .colorScheme.outline
80- )
81- )
76+ Text (
77+ text = stringResource(
78+ R .string.have_been_total_sponsored,
79+ vm.totalSponsorAmount.toDollars()
80+ ),
81+ style = MaterialTheme .typography.titleSmall.copy(
82+ color = MaterialTheme .colorScheme.outline
83+ )
84+ )
85+ }
86+ }
8287
83- NonLazyGrid (
84- columns = 2 ,
85- itemCount = sponsors.size,
86- itemPaddingValues = PaddingValues (16 .dp)
87- ) {
88- MemberCard (member = sponsors[it])
88+ itemsIndexed(
89+ items = sponsors,
90+ key = { _, it -> it.name }
91+ ) { index, it ->
92+ MemberCard (
93+ member = it,
94+ index = index
95+ )
8996 }
9097 }
9198
9299 if (contributors.isNotNullOrEmpty()) {
93- HorizontalDividerWithText (
94- text = stringResource(
95- R .string.contributors
96- ),
97- thickness = 0.9 .dp
98- )
100+ item(span = { GridItemSpan (2 ) }) {
101+ Column (
102+ verticalArrangement = Arrangement .Center ,
103+ horizontalAlignment = Alignment .CenterHorizontally
104+ ) {
105+ HorizontalDividerWithText (
106+ text = stringResource(
107+ R .string.contributors
108+ ),
109+ thickness = 0.9 .dp
110+ )
99111
100- Text (
101- text = stringResource(
102- R .string.total_community_contributions,
103- vm.totalContributionsCount
104- ),
105- style = MaterialTheme .typography.titleSmall.copy(
106- color = MaterialTheme .colorScheme.outline
107- )
108- )
112+ Text (
113+ text = stringResource(
114+ R .string.total_community_contributions,
115+ vm.totalContributionsCount
116+ ),
117+ style = MaterialTheme .typography.titleSmall.copy(
118+ color = MaterialTheme .colorScheme.outline
119+ )
120+ )
121+ }
122+ }
109123
110- NonLazyGrid (
111- columns = 2 ,
112- itemCount = contributors.size,
113- itemPaddingValues = PaddingValues (16 .dp)
114- ) {
115- MemberCard (member = contributors[it])
124+ itemsIndexed(
125+ items = contributors,
126+ key = { _, it -> it.name }
127+ ) { index, it ->
128+ MemberCard (
129+ member = it,
130+ index = index
131+ )
116132 }
117133 }
118-
119134 }
120-
121-
122135 }
123-
124-
125136}
0 commit comments