From ca8ecfa033d300f96eca0c18f0de4c98df25801a Mon Sep 17 00:00:00 2001 From: ElEgEv <112943269+ElEgEv@users.noreply.github.com> Date: Tue, 14 Nov 2023 10:39:48 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=9D=D0=9E=20=D0=A0=D0=90=D0=91=D0=9E?= =?UTF-8?q?=D0=A2=D0=90=D0=95=D0=A2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../8.0/executionHistory/executionHistory.bin | Bin 2596750 -> 2596750 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes compose/.gradle/8.0/fileHashes/fileHashes.bin | Bin 301919 -> 302669 bytes .../.gradle/8.0/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.0/fileHashes/resourceHashesCache.bin | Bin 118903 -> 123833 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../buildOutputCleanup/outputFiles.bin | Bin 1319390 -> 1319606 bytes compose/.gradle/file-system.probe | Bin 8 -> 8 bytes .../ru/ulstu/is/pmu/tank/dao/NationDao.kt | 2 +- .../java/ru/ulstu/is/pmu/tank/dao/UserDao.kt | 17 +- .../ulstu/is/pmu/tank/database/AppDatabase.kt | 64 +++--- .../java/ru/ulstu/is/pmu/tank/model/Nation.kt | 3 +- .../java/ru/ulstu/is/pmu/tank/model/Tank.kt | 8 - .../pmu/tank/model/TankWithNationAndLevel.kt | 31 +++ .../java/ru/ulstu/is/pmu/tank/model/User.kt | 6 +- .../ulstu/is/pmu/tank/model/UserWithTanks.kt | 4 +- .../is/pmu/tanks/composeui/Constructor.kt | 12 +- .../ru/ulstu/is/pmu/tanks/composeui/Hangar.kt | 198 ++++++++++-------- 18 files changed, 195 insertions(+), 150 deletions(-) create mode 100644 compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/TankWithNationAndLevel.kt diff --git a/compose/.gradle/8.0/executionHistory/executionHistory.bin b/compose/.gradle/8.0/executionHistory/executionHistory.bin index 5f7e81871bbd82b53163b09f0cb782497eeea69e..3afda182116bf95b2bd95d51a87cf9793bb0b5ca 100644 GIT binary patch delta 27744 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 e`Tyi>j#w=}-v{r>^B=WYD} delta 35154 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 EA5w8Y_y7O^ diff --git a/compose/.gradle/8.0/executionHistory/executionHistory.lock b/compose/.gradle/8.0/executionHistory/executionHistory.lock index 214e6c6a2b7e0b6c32652437831f5c7b388ce171..bce7077f8127fcc52126a1ab18e6142012cc58a8 100644 GIT binary patch literal 17 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ðk3v*Ee>IqiFlJCfG;r@@;eS~|?Elvi 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 diff --git a/compose/.gradle/8.0/fileHashes/fileHashes.lock b/compose/.gradle/8.0/fileHashes/fileHashes.lock index fa71d1be12ac53f024cd5977a721429218fed5ab..190331c5a38057a14e18031368391305cd463f38 100644 GIT binary patch literal 17 VcmZQ(aBaLGm;b_n0Sp#Q0stvI1c3km literal 17 VcmZQ(aBaLGm;b_n0Su;<001cp1X%z8 diff --git a/compose/.gradle/8.0/fileHashes/resourceHashesCache.bin b/compose/.gradle/8.0/fileHashes/resourceHashesCache.bin index aff60ae1bdc08f3049b24ab4bc6df686051a0b1e..01e050a1ca6cc9fe8af96007f98025592df206fd 100644 GIT binary patch delta 5527 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 delta 960 zcmXYvVN8`(7{~d)Fd!gF+2p+p4MdVI%6&n&7w)~@dx3xp>fok1M;n8+5-K-}g_k4* z)7IpJ(6jagwbsU_H)*Cj<(WzDvKY=lJ{Z=E=E6&UX$@`En48nio1N`EAI|^mJiqfh z=i-&5)i09HmFnoBGCe~7==HSEX3*!h2(@H|#d20T$d?_Z^&522vY`oLdSed6qi5S8 z`f^T{NFIu2(hfb#)_vp4! zFMP#0pzab~oGM8MO>Z~Fh0-L@jj|#7*cqmLSDU!tQf-_S3gH8HD?M`SROA_=pFL4J z>%Aww-El`X^oO*(4qkR+FE@Ko%wry8J`>ANJg~p=t)e((VL5)GrvZ~(c9-h4ZoS>UUZ0oMfEOP%%FytQWau(7+y~8g^l<2 zD%{VkGHaEGy=di$_f#qEQ}kc;;Uw=lf;OH#f(Xy|BPiTUr)zLh#tQHNykdtT_Y|TW za%?LKG+rvgeU3Mv%k2i*6IhhOIjrEnf9DD)E;PD!3XDu@6Mx~A4uT@ahb&B><9Zd378}e2VE=YR= zIv~e)DlU4hCX?6gMvuI-8y{-aQs?wT^~ fI2?&|@ei9kHVB)h<=i=+YoxPcTq9o^#U|&!Pv36C diff --git a/compose/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/compose/.gradle/buildOutputCleanup/buildOutputCleanup.lock index e4de179a692acb0fa6a81a50b73494fc0e4a693e..5a05d86bf8c6b9edc30783f0343a16311436aff9 100644 GIT binary patch literal 17 VcmZQhF*rNr{gMY+3}8?{1pqu+1?d0) literal 17 VcmZQhF*rNr{gMY+3}8_682~)921Nh> diff --git a/compose/.gradle/buildOutputCleanup/outputFiles.bin b/compose/.gradle/buildOutputCleanup/outputFiles.bin index 42d56f6ec365356eeb42c7a1a0ce8e20739902da..b37ccdf80867f6c0de3e07e6ddff97da6f9f544e 100644 GIT binary patch delta 1051 zcmYLHe`phD7~XexX>ym`k6dc4bDK$=qS-8^twZYyt@V$Zxsj4Fu(Mr;Y&d@ui~g}8 zi**(<*#5XJ*q6az@iqpEXoH!rbxcD$1Bw$ZBI&@=O=wx9EFk_U`iJj#Iq~56`0nm| z-uL;Q_nDbYoV%PDn_ghz*}oUs746jrFmrnDCH~Y$htDdH{TkbzX{uuc0h{W?n8+^R zc3C{JTpt=s7T-@r+{5*___{c$vLg_`sdQw_R*@hPJZQGo-JNCM;KPvjh@>0IgS*!6 zKIzg1aj?lYmaVLDs{qZ9f(5Kr%`k)6 zE28A^5VL|w?T&Xp(#wC}Pnm0*Go~X`|RM1<3 z;uBT@UgLCoxpd0d7J{&A{!v3D?QFG&FiJPG}3cQDj_Xf7&MQNwAz(ca$cS) z5ak#oWYNba@C%>+V_jcze(Gv+@L0{vNEL1_^^p|Nb)8m5am@bse$ITZmaKcPmA`u$fom=4GP!W?O0t46y1Ld&q#$2o5J(N zN8y#(D7x~o!}>flcYc!6AaYONGgNyIavp-N7A9O zNirb*MQrCK3;J;>^RGjPxNOTpqFadY89Mj|qXpfK%CK_l?foYf?t5iutzt+JY@2YPks^ z$zo?|?6*74y5M`6BaP3?9r>-yJziM?dW(1Gm?33~{+N2mDRV@-`Hs5+@mgyOt{!xh zeq+W|jdQjXKQ=orY1jtJqJ8Y4TF>3$CX|`eqIDfktm{zTd)PR7E-Fnbc14t>a_oMl z*rizbh_xsxj>qE4k{=JxDAgj@BXK=@P`@Id5QxnRfn|#wS6(T@hu975(p1Th*Y>Ip zEbMWzG9>fcEv5&>q)B-z4=>MCpj0>Plxps@j)SU|66BU3#poroh?fmv@Tj_A!2@k- z(8sEim7g6ZBMGc8MwplvBAkZyhpaTiO#v-Sd#v%3!2vnH(_Ewoq@$kfX3{(@3g!Qr d89?c0c&a_-=;-o@N^lW0f}7yM> //получить нации с танками - @Query("SELECT * FROM users") + /*@Query("SELECT * FROM users") @Transaction - fun getUsersWithTanks(): List + fun getUsersWithTanks(): Flow>*/ //получить конкретного пользователя - @Query("select * from users where users.userId = :uid") - suspend fun getUserUid(uid: Long): UserWithTanks + @Query( + "SELECT u.*, t.*, l.level, n.nationName FROM users AS u " + + "LEFT JOIN UserTankCrossRef as ut on u.userId = ut.userId " + + "LEFT JOIN tanks as t on ut.tankId = t.tankId " + + "LEFT JOIN levels as l on t.levelId = l.uid " + + "LEFT JOIN nations as n on t.nationId = n.uid " + + "WHERE u.userId = :uid" + ) + fun getUserUid(uid: Long): Flow>> @Query("select * from users where users.userId = :uid") suspend fun getSimpleUserUid(uid: Long): User diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/database/AppDatabase.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/database/AppDatabase.kt index ef321a9..bfc246e 100644 --- a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/database/AppDatabase.kt +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/database/AppDatabase.kt @@ -29,7 +29,7 @@ abstract class AppDatabase : RoomDatabase() { abstract fun userDao() : UserDao companion object { - private const val DB_NAME: String = "seven-db" + private const val DB_NAME: String = "nine-db" @Volatile private var INSTANCE: AppDatabase? = null @@ -38,16 +38,16 @@ abstract class AppDatabase : RoomDatabase() { INSTANCE?.let { database -> // Nations val nationDao = database.nationDao() - val nation1 = Nation("СССР") - val nation2 = Nation("Германия") - val nation3 = Nation("США") - val nation4 = Nation("Великобритания") - val nation5 = Nation("Франция") - val nation6 = Nation("Чехословакия") - val nation7 = Nation( "Швеция") - val nation8 = Nation( "Китай") - val nation9 = Nation( "Япония") - val nation10 = Nation("Италия") + val nation1 = Nation(1L, "СССР") + val nation2 = Nation(2L, "Германия") + val nation3 = Nation(3L, "США") + val nation4 = Nation(4L, "Великобритания") + val nation5 = Nation(5L, "Франция") + val nation6 = Nation(6L, "Чехословакия") + val nation7 = Nation( 7L, "Швеция") + val nation8 = Nation( 8L, "Китай") + val nation9 = Nation( 9L, "Япония") + val nation10 = Nation(10L, "Италия") nationDao.insert(nation1) nationDao.insert(nation2) @@ -62,16 +62,16 @@ abstract class AppDatabase : RoomDatabase() { // Levels val levelDao = database.levelDao() - val level1 = Level(1) - val level2 = Level(2) - val level3 = Level(3) - val level4 = Level(4) - val level5 = Level(5) - val level6 = Level(6) - val level7 = Level(7) - val level8 = Level(8) - val level9 = Level(9) - val level10 = Level(10) + val level1 = Level(11L, 1) + val level2 = Level(12L, 2) + val level3 = Level(13L, 3) + val level4 = Level(14L, 4) + val level5 = Level(15L, 5) + val level6 = Level(16L, 6) + val level7 = Level(17L, 7) + val level8 = Level(18L, 8) + val level9 = Level(19L, 9) + val level10 = Level(20L, 10) levelDao.insert(level1) levelDao.insert(level2) @@ -86,17 +86,17 @@ abstract class AppDatabase : RoomDatabase() { //Tanks val tankDao = database.tankDao() - val tank1 = Tank("МС-1", 1000, R.drawable.t_34_85, level1, nation1) - val tank2 = Tank("Т-34-85", 960000, R.drawable.t_34_85, level6, nation1) - val tank3 = Tank("ИС-2", 1230000, R.drawable.t_34_85, level7, nation1) - val tank4 = Tank("ИСУ-152", 2350000, R.drawable.t_34_85, level8, nation1) - val tank5 = Tank("Tiger 1", 1430000, R.drawable.tiger_1, level7, nation2) - val tank6 = Tank("Ferdinand", 2500000, R.drawable.tiger_1, level8, nation2) - val tank7 = Tank("Tiger 2", 2500000, R.drawable.tiger_1, level8, nation2) - val tank8 = Tank("Panther", 1350000, R.drawable.tiger_1, level7, nation2) - val tank9 = Tank("M4A2E3", 990000, R.drawable.sherman, level6, nation3) - val tank10 = Tank("Pershing", 1260000, R.drawable.sherman, level8, nation3) - val tank11 = Tank("Hellcat", 940000, R.drawable.sherman, level7, nation3) + val tank1 = Tank(20L,"МС-1", 1000, R.drawable.t_34_85, level1.uid, nation1.uid) + val tank2 = Tank(21L, "Т-34-85", 960000, R.drawable.t_34_85, level6.uid, nation1.uid) + val tank3 = Tank(22L, "ИС-2", 1230000, R.drawable.t_34_85, level7.uid, nation1.uid) + val tank4 = Tank(23L, "ИСУ-152", 2350000, R.drawable.t_34_85, level8.uid, nation1.uid) + val tank5 = Tank(24L, "Tiger 1", 1430000, R.drawable.tiger_1, level7.uid, nation2.uid) + val tank6 = Tank(25L, "Ferdinand", 2500000, R.drawable.tiger_1, level8.uid, nation2.uid) + val tank7 = Tank(26L, "Tiger 2", 2500000, R.drawable.tiger_1, level8.uid, nation2.uid) + val tank8 = Tank(27L, "Panther", 1350000, R.drawable.tiger_1, level7.uid, nation2.uid) + val tank9 = Tank(28L, "M4A2E3", 990000, R.drawable.sherman, level6.uid, nation3.uid) + val tank10 = Tank(29L, "Pershing", 1260000, R.drawable.sherman, level8.uid, nation3.uid) + val tank11 = Tank(30L, "Hellcat", 940000, R.drawable.sherman, level7.uid, nation3.uid) tankDao.insert(tank1) tankDao.insert(tank2) diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/Nation.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/Nation.kt index ffb945d..fd923be 100644 --- a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/Nation.kt +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/Nation.kt @@ -11,8 +11,7 @@ import androidx.room.PrimaryKey data class Nation( @PrimaryKey(autoGenerate = true) val uid: Long?, - @ColumnInfo(name = "name") - val name: String, + val nationName: String, ) { @Ignore constructor( diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/Tank.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/Tank.kt index 4f6a125..d89b61b 100644 --- a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/Tank.kt +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/Tank.kt @@ -44,11 +44,3 @@ data class Tank( } } -fun getTanks(): List { - return listOf( - //Tank("T-38-85", 970000, 6, "СССР"), - //Tank("M3 Lee", 140000, 4, "США"), - //Tank("Foch B", 6100000, 10, "Франция") - ) -} - diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/TankWithNationAndLevel.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/TankWithNationAndLevel.kt new file mode 100644 index 0000000..5197ea5 --- /dev/null +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/TankWithNationAndLevel.kt @@ -0,0 +1,31 @@ +package ru.ulstu.`is`.pmu.tank.model + +import androidx.room.ColumnInfo +import androidx.room.Embedded +import androidx.room.Entity +import androidx.room.PrimaryKey + +data class TankWithNationAndLevel ( + @PrimaryKey(autoGenerate = true) + val tankId: Long?, + @ColumnInfo(name = "name") + val name: String, + @ColumnInfo(name = "price") + val price: Int, + @ColumnInfo(name="image") + val image: Int, + val level: Int, + val nationName: String +) { + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + other as TankWithNationAndLevel + if (tankId != other.tankId) return false + return true + } + + override fun hashCode(): Int { + return (tankId ?: -1) as Int + } +} \ No newline at end of file diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/User.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/User.kt index 67c1314..252599d 100644 --- a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/User.kt +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/User.kt @@ -31,12 +31,12 @@ data class User ( override fun equals(other: Any?): Boolean { if (this === other) return true if (javaClass != other?.javaClass) return false - other as Tank - if (userId != other.tankId) return false + other as User + if (userId != other.userId) return false return true } override fun hashCode(): Int { - return (userId ?: -1) as Int + return userId.toInt() } } \ No newline at end of file diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/UserWithTanks.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/UserWithTanks.kt index 0e86a7d..ca875cf 100644 --- a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/UserWithTanks.kt +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/model/UserWithTanks.kt @@ -13,7 +13,7 @@ data class UserWithTanks( entity = Tank::class, parentColumn = "userId", entityColumn = "tankId", - associateBy = Junction(UserTankCrossRef::class,) + associateBy = Junction(UserTankCrossRef::class) ) - val tanks: List + val tanks: List ) diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/Constructor.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/Constructor.kt index 8683362..b607968 100644 --- a/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/Constructor.kt +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/Constructor.kt @@ -52,7 +52,7 @@ fun Constructor(navController: NavController) { val currentDestination = navBackStackEntry?.destination val currentScreen = currentDestination?.route?.let { Screen.getItem(it) } - var name by remember { mutableStateOf("") } + var nationName by remember { mutableStateOf("") } var price by remember { mutableStateOf("") } //для работы выпадающего списка уровней @@ -61,7 +61,7 @@ fun Constructor(navController: NavController) { //для работы выпадающего списка наций var expandedNation by remember { mutableStateOf(false) } - var selectedNation by remember { mutableStateOf(getNations()[0].name) } + var selectedNation by remember { mutableStateOf(getNations()[0].nationName) } Column( verticalArrangement = Arrangement.spacedBy(35.dp), @@ -96,9 +96,9 @@ fun Constructor(navController: NavController) { } Column { TextField( - value = name, + value = nationName, placeholder = { Text(text = "Название", color = CustomDark) }, - onValueChange = { name = it }, + onValueChange = { nationName = it }, modifier = Modifier .width(200.dp), ) @@ -174,9 +174,9 @@ fun Constructor(navController: NavController) { // menu items getNations().forEach { selectionOption -> DropdownMenuItem( - text = { Text(selectionOption.name) }, + text = { Text(selectionOption.nationName) }, onClick = { - selectedNation = selectionOption.name + selectedNation = selectionOption.nationName expandedNation = false }, contentPadding = ExposedDropdownMenuDefaults.ItemContentPadding, diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/Hangar.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/Hangar.kt index 8455542..eb37dc2 100644 --- a/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/Hangar.kt +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/Hangar.kt @@ -40,6 +40,9 @@ import androidx.navigation.NavController import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.FlowCollector +import kotlinx.coroutines.flow.flow import kotlinx.coroutines.withContext import ru.ulstu.`is`.pmu.R import ru.ulstu.`is`.pmu.composeui.navigation.Screen @@ -54,31 +57,33 @@ import ru.ulstu.`is`.pmu.ui.theme.PmudemoTheme @OptIn(ExperimentalMaterial3Api::class) @Composable -fun Hangar(navController: NavController){ +fun Hangar(navController: NavController) { val navBackStackEntry by navController.currentBackStackEntryAsState() val currentDestination = navBackStackEntry?.destination val currentScreen = currentDestination?.route?.let { Screen.getItem(it) } val context = LocalContext.current - val list = remember { mutableStateListOf() } - val (user, setUser) = remember { mutableStateOf(null) } + val (users, setUsers) = remember { mutableStateOf(null) } val nations = remember { mutableStateListOf() } val levels = remember { mutableStateListOf() } + + fun getData(): Flow { + return flow { + AppDatabase.getInstance(context).userDao().getUserUid(100L).collect() { data -> + emit(data.firstNotNullOf { + UserWithTanks( + user = it.key, + tanks = it.value + ) + }) + } + } + } + LaunchedEffect(Unit) { withContext(Dispatchers.IO) { - AppDatabase.getInstance(context).userDao().getUsersWithTanks().forEach { data -> - list.clear() - list.add(data) - } - Log.d("КОЛИЧЕСТВО", list.size.toString()) - setUser(AppDatabase.getInstance(context).userDao().getUserUid(100L)) - AppDatabase.getInstance(context).nationDao().getAll().collect { data -> - nations.clear() - nations.addAll(data) - } - AppDatabase.getInstance(context).levelDao().getAll().collect { data -> - levels.clear() - levels.addAll(data) + getData().collect() { + setUsers(it) } } } @@ -86,93 +91,102 @@ fun Hangar(navController: NavController){ Column( verticalArrangement = Arrangement.spacedBy(15.dp) ) { - val countRows = user?.tanks?.size?.div(2) + val startIndex = 0 - //проверяем на то, что не всё поместилось в ряды по 2 элемента - val oneLastElem = user?.tanks?.size?.rem(2) + if(users != null){ + val countRows = users.tanks.size / 2 - var index = 0 + //проверяем на то, что не всё поместилось в ряды по 2 элемента + val oneLastElem = users.tanks.size % 2 - var supportCountRow = countRows + var index = 0 - for(n in 1 .. (supportCountRow ?: 1)){ - Row( - verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.SpaceAround, - modifier = Modifier - .fillMaxWidth() - .padding(10.dp, 0.dp, 10.dp, 0.dp) - ) { - //цикл для заполнения строки карточек - for (m in 0 .. 1){ - Column( - modifier = Modifier.background(CustomYellow) - ) { - Box( - Modifier - .background(CustomYellow) - .height(260.dp), - ) - { - Card( - colors = CardDefaults.cardColors( - containerColor = CustomYellow, - ), - modifier = Modifier - .size(width = 170.dp, height = 250.dp) - .padding(10.dp, 0.dp, 10.dp, 0.dp) - ) { - Image( - painter = painterResource(id = user?.tanks?.get(index)?.image ?: R.drawable.t_34_85), - contentDescription = stringResource(id = R.string.tanks_main_title), + var supportCountRow = countRows + + for (n in 1..(supportCountRow ?: 1)) { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceAround, + modifier = Modifier + .fillMaxWidth() + .padding(10.dp, 0.dp, 10.dp, 0.dp) + ) { + //цикл для заполнения строки карточек + for (m in 0..1) { + Column( + modifier = Modifier.background(CustomYellow) + ) { + Box( + Modifier + .background(CustomYellow) + .height(260.dp), + ) + { + Card( + colors = CardDefaults.cardColors( + containerColor = CustomYellow, + ), modifier = Modifier - .height(130.dp) - ) - Text( - text = user?.tanks?.get(index)?.name ?: "" , - fontSize = 20.sp, - fontWeight = FontWeight.Bold, - color = Color.Black, - textAlign = TextAlign.Center, - modifier = Modifier.fillMaxWidth() - ) - Text( - text = "Нация: " + nations.find{ it.uid == user?.tanks?.get(index)?.nationId }.toString(), - fontSize = 17.sp, - fontWeight = FontWeight.Bold, - color = Color.Black, - textAlign = TextAlign.Center, - modifier = Modifier.fillMaxWidth() - ) - Text( - text = "Уровень: " + levels.find{ it.uid == user?.tanks?.get(index)?.levelId }.toString(), - fontSize = 17.sp, - fontWeight = FontWeight.Bold, - color = Color.Black, - textAlign = TextAlign.Center, - modifier = Modifier.fillMaxWidth() - ) - Text( - text = "Стоимость: " + user?.tanks?.get(index)?.price.toString(), - fontSize = 17.sp, - fontWeight = FontWeight.Bold, - color = Color.Black, - textAlign = TextAlign.Center, - modifier = Modifier.fillMaxWidth() - ) + .size(width = 170.dp, height = 250.dp) + .padding(10.dp, 0.dp, 10.dp, 0.dp) + ) { + Image( + painter = painterResource( + id = users.tanks[index].image + ), + contentDescription = stringResource(id = R.string.tanks_main_title), + modifier = Modifier + .height(130.dp) + ) + Text( + text = users.tanks[index].name, + fontSize = 20.sp, + fontWeight = FontWeight.Bold, + color = Color.Black, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth() + ) + Text( + text = "Нация: " + users.tanks[index].nationName, + fontSize = 17.sp, + fontWeight = FontWeight.Bold, + color = Color.Black, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth() + ) + Text( + text = "Уровень: " + users.tanks[index].level.toString(), + fontSize = 17.sp, + fontWeight = FontWeight.Bold, + color = Color.Black, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth() + ) + Text( + text = "Стоимость: " + users.tanks[index].price.toString(), + fontSize = 17.sp, + fontWeight = FontWeight.Bold, + color = Color.Black, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth() + ) + } } } - } - index++ - //если надо будет допечатать ещё один элемент - if(n == supportCountRow && oneLastElem != 0){ - supportCountRow = oneLastElem - } + index++ + + //если надо будет допечатать ещё один элемент + if (n == supportCountRow && oneLastElem != 0) { + supportCountRow = oneLastElem + } + } } + Spacer(Modifier.height(20.dp)) } } - Spacer(Modifier.height(20.dp)) + + } }