From 38cb37104807deb16c27139f72111fc48c38838e Mon Sep 17 00:00:00 2001 From: ElEgEv <112943269+ElEgEv@users.noreply.github.com> Date: Mon, 11 Dec 2023 13:56:24 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D1=87=D1=82=D0=B8=D0=B8=D0=B8?= =?UTF-8?q?=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compose/.gradle/8.0/checksums/checksums.lock | Bin 17 -> 17 bytes .../.gradle/8.0/checksums/md5-checksums.bin | Bin 33897 -> 34547 bytes .../.gradle/8.0/checksums/sha1-checksums.bin | Bin 91877 -> 96251 bytes .../8.0/executionHistory/executionHistory.bin | Bin 3209343 -> 3209343 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes compose/.gradle/8.0/fileHashes/fileHashes.bin | Bin 420432 -> 436241 bytes .../.gradle/8.0/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.0/fileHashes/resourceHashesCache.bin | Bin 335425 -> 384251 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../buildOutputCleanup/outputFiles.bin | Bin 1319930 -> 1324970 bytes compose/.gradle/file-system.probe | Bin 8 -> 8 bytes .../kotlin/errors/errors-1702209062312.log | 65 -------- compose/.idea/modules/app/pmu-demo.app.iml | 8 + .../is/pmu/composeui/navigation/MainNavbar.kt | 1 - .../ulstu/is/pmu/tank/composeui/TankList.kt | 42 +++-- .../tank/composeui/edit/TankEditViewModel.kt | 5 +- .../is/pmu/tanks/composeui/Constructor.kt | 148 ++++++++++++------ .../ru/ulstu/is/pmu/tanks/composeui/Hangar.kt | 16 +- .../is/pmu/tanks/composeui/image/CuteImage.kt | 4 +- .../composeui/image/CuteImageUploader.kt | 18 +-- .../composeui/image/RoundedCorderImage.kt | 25 +++ 21 files changed, 178 insertions(+), 154 deletions(-) delete mode 100644 compose/.gradle/kotlin/errors/errors-1702209062312.log create mode 100644 compose/.idea/modules/app/pmu-demo.app.iml create mode 100644 compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/image/RoundedCorderImage.kt diff --git a/compose/.gradle/8.0/checksums/checksums.lock b/compose/.gradle/8.0/checksums/checksums.lock index f8438458a9e9e0dab4c975df0fa9e77694828cc0..4c89189cabf53b48beb35dbd46c1e09bc335ed58 100644 GIT binary patch literal 17 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 X+^3P-mXx)E6kT`=12w1&eQ5j(kxbjs delta 488 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 delta 22577 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 SOiOLU5N;_t;j^kz`~Lv2`kOfb diff --git a/compose/.gradle/8.0/executionHistory/executionHistory.lock b/compose/.gradle/8.0/executionHistory/executionHistory.lock index a1ade08d3a5042891113320c10ced29658e5064e..faf39ebd46cf9b0138cad0437bcf20635b7aa66b 100644 GIT binary patch literal 17 VcmZQpo{;`Q{97o3cxY>HTxI@^xPdgVlq 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 DT9)jr delta 18264 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 INQ&b4e+EzqUH||9 diff --git a/compose/.gradle/8.0/fileHashes/fileHashes.lock b/compose/.gradle/8.0/fileHashes/fileHashes.lock index afd218ad0f5dde91f93120f9e6d09081010e565b..dc44304f528730bae4908cb550af40fa33f9522b 100644 GIT binary patch literal 17 WcmZQ(aBaLGm;b_n0R$M`4gdfsxdc`K literal 17 VcmZQ(aBaLGm;b_n0R$KoVgM)!1Iz#b diff --git a/compose/.gradle/8.0/fileHashes/resourceHashesCache.bin b/compose/.gradle/8.0/fileHashes/resourceHashesCache.bin index 0e30a5595059becee2278d95870c336dcb5d32f4..4836bc86cb1218d5cefe066ecc0e131cdf4e6d9e 100644 GIT binary patch delta 22922 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 f)T|x-hgIqV)#&F?d_Bk9J5HCrLFs{j81Ndj07 delta 3491 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 diff --git a/compose/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/compose/.gradle/buildOutputCleanup/buildOutputCleanup.lock index f3195288215f75d89953153d4a895490d9e6b30e..03b9f15a3365ba8f2fab0531e8e05273b2e6db36 100644 GIT binary patch literal 17 VcmZQhF*rNr{gMY+3}CR<8UQ?91-<|P literal 17 VcmZQhF*rNr{gMY+3}CRd7XUn;1_%HE diff --git a/compose/.gradle/buildOutputCleanup/outputFiles.bin b/compose/.gradle/buildOutputCleanup/outputFiles.bin index 43f6183f001bfc9d154dc9417f0c5598b6da69a0..eca490ef65f727e610b1ac08185ca5766404a53d 100644 GIT binary patch delta 10169 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 delta 6067 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 diff --git a/compose/.gradle/file-system.probe b/compose/.gradle/file-system.probe index 4137f461a403747e8d96d3f566c67d67cae294f8..9e25017c58f4fab5e4cb1a0ac5d6cd3fbbb8e64c 100644 GIT binary patch literal 8 PcmZQzVC)I+?Y0L12O diff --git a/compose/.gradle/kotlin/errors/errors-1702209062312.log b/compose/.gradle/kotlin/errors/errors-1702209062312.log deleted file mode 100644 index 8923219..0000000 --- a/compose/.gradle/kotlin/errors/errors-1702209062312.log +++ /dev/null @@ -1,65 +0,0 @@ -kotlin version: 1.9.10 -error message: java.lang.Exception: Could not flush incremental caches in C:\Users\egore\Desktop\MyProjects\ULSTU\TankAppMobile\TanksApp\compose\app\build\kspCaches\debug\symbolLookups: lookups.tab - at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:64) - at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.flush(BasicMapsOwner.kt:48) - at org.jetbrains.kotlin.incremental.LookupStorage.flush(LookupStorage.kt:155) - at com.google.devtools.ksp.IncrementalContext.updateLookupCache(Incremental.kt:262) - at com.google.devtools.ksp.IncrementalContext.updateCaches(Incremental.kt:486) - at com.google.devtools.ksp.IncrementalContext.updateCachesAndOutputs(Incremental.kt:556) - at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:357) - at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:112) - at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:88) - at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:256) - at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:42) - at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:115) - at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:247) - at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.repeatAnalysisIfNeeded(KotlinToJVMBytecodeCompiler.kt:181) - at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:87) - at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:47) - at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:168) - at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:53) - at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:100) - at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:46) - at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101) - at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1497) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:568) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(AccessController.java:712) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705) - at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) - at java.base/java.lang.Thread.run(Thread.java:833) - Suppressed: java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.io.OutputStream java.io.FilterOutputStream.out accessible: module java.base does not "opens java.io" to unnamed module @59fd97a8 - at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) - at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) - at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178) - at java.base/java.lang.reflect.Field.setAccessible(Field.java:172) - at org.jetbrains.kotlin.com.intellij.util.io.IOUtil.syncStream(IOUtil.java:216) - at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMapValueStorage.appendBytes(PersistentHashMapValueStorage.java:188) - at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMapValueStorage.appendBytes(PersistentHashMapValueStorage.java:175) - at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl$2.onDropFromCache(PersistentMapImpl.java:237) - at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl$2.onDropFromCache(PersistentMapImpl.java:215) - at org.jetbrains.kotlin.com.intellij.util.containers.SLRUMap.clear(SLRUMap.java:172) - at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.flushAppendCache(PersistentMapImpl.java:930) - at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.clearAppenderCaches(PersistentMapImpl.java:754) - at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doForce(PersistentMapImpl.java:741) - at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.force(PersistentMapImpl.java:730) - at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.force(PersistentHashMap.java:194) - at org.jetbrains.kotlin.incremental.storage.CachingLazyStorage.flush(CachingLazyStorage.kt:115) - at org.jetbrains.kotlin.incremental.storage.BasicMap.flush(BasicMap.kt:40) - at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$flush$1.invoke(BasicMapsOwner.kt:48) - at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$flush$1.invoke(BasicMapsOwner.kt:48) - at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:56) - ... 38 more - - diff --git a/compose/.idea/modules/app/pmu-demo.app.iml b/compose/.idea/modules/app/pmu-demo.app.iml new file mode 100644 index 0000000..349119f --- /dev/null +++ b/compose/.idea/modules/app/pmu-demo.app.iml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/composeui/navigation/MainNavbar.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/composeui/navigation/MainNavbar.kt index 7872ce1..37553c2 100644 --- a/compose/app/src/main/java/ru/ulstu/is/pmu/composeui/navigation/MainNavbar.kt +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/composeui/navigation/MainNavbar.kt @@ -66,7 +66,6 @@ import ru.ulstu.`is`.pmu.tank.composeui.TankList import ru.ulstu.`is`.pmu.tanks.composeui.Account import ru.ulstu.`is`.pmu.tanks.composeui.Constructor import ru.ulstu.`is`.pmu.tanks.composeui.Hangar -import ru.ulstu.`is`.pmu.ui.theme.CustomYellow @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/composeui/TankList.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/composeui/TankList.kt index 7d7d395..5139c42 100644 --- a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/composeui/TankList.kt +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/composeui/TankList.kt @@ -23,15 +23,23 @@ import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.Card import androidx.compose.material3.CardDefaults +import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.ExposedDropdownMenuBox +import androidx.compose.material3.ExposedDropdownMenuDefaults import androidx.compose.material3.Surface import androidx.compose.material3.Text +import androidx.compose.material3.TextField import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.key +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -42,6 +50,8 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavController +import androidx.navigation.NavHostController +import androidx.navigation.compose.rememberNavController import ru.ulstu.`is`.pmu.R import ru.ulstu.`is`.pmu.composeui.navigation.Screen import ru.ulstu.`is`.pmu.tank.composeui.edit.NationDropDownViewModel @@ -127,7 +137,7 @@ fun ColumnItem( ) { CuteImage( imageBitmap = tank.miniature.asImageBitmap(), - modifier = Modifier.weight(0.5F) + modifier = Modifier.fillMaxWidth() ) Text( text = tank.name, @@ -156,20 +166,20 @@ fun ColumnItem( } } } else { - Column( - modifier = Modifier.width(400.dp), - verticalArrangement = Arrangement.Center, - horizontalAlignment = Alignment.CenterHorizontally - ){ - Text( - text = "Скоро!!!", - fontSize = 30.sp, - fontWeight = FontWeight.Bold, - color = CustomDark, - textAlign = TextAlign.Center, - modifier = Modifier.fillMaxSize() - ) - } + Column( + modifier = Modifier.width(400.dp), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally + ){ + Text( + text = "Скоро!!!", + fontSize = 30.sp, + fontWeight = FontWeight.Bold, + color = CustomDark, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxSize() + ) + } } } } @@ -182,7 +192,7 @@ private fun TankList( nations: NationsListUiState, listTanks: List, onClick: (uid: Long) -> Unit, - ) { +) { LazyColumn( verticalArrangement = Arrangement.Bottom, modifier = Modifier.height(300.dp * nations.nationList.size), diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/composeui/edit/TankEditViewModel.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/composeui/edit/TankEditViewModel.kt index 514876a..4eacae7 100644 --- a/compose/app/src/main/java/ru/ulstu/is/pmu/tank/composeui/edit/TankEditViewModel.kt +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tank/composeui/edit/TankEditViewModel.kt @@ -49,7 +49,7 @@ class TankEditViewModel( suspend fun saveTank() { if (validateInput()) { - val image: Bitmap = tankUiState.tankDetails.image!! + val image: Bitmap = tankUiState.tankDetails.miniature!! if (tankUid > 0) { tankRepository.updateTank(tankUiState.tankDetails.toTank(tankUid), image = image) } else { @@ -65,7 +65,7 @@ class TankEditViewModel( && levelId!! != 0L && nationId!! != 0L && imageId !! != 0L - && image != null + && miniature != null } } } @@ -81,7 +81,6 @@ data class TankDetails( val levelId: Long? = 0, val nationId: Long? = 0, val miniature: Bitmap = getEmptyBitmap(), - val image: Bitmap? = null, val imageId: Long = -1 ) 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 5aea7fb..5ae015f 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 @@ -8,6 +8,7 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding @@ -213,8 +214,7 @@ private fun Constructor( fun handleImageUpload(bitmap: Bitmap) { tankViewModel.updateUiState( tankUiState.tankDetails.copy( - image = bitmap.resize(tankImageBound), - miniature = bitmap.resize(miniatureBound) + miniature = bitmap.resize(miniatureBound), ) ) } @@ -236,67 +236,113 @@ private fun Constructor( ){ Text(text="Добавить танк", fontSize = 30.sp, color = Color.Black, fontWeight = FontWeight.Bold) } + Spacer(Modifier.height(10.dp)) Row( - horizontalArrangement = Arrangement.SpaceAround, - modifier = Modifier.fillMaxWidth() + horizontalArrangement = Arrangement.SpaceBetween, + modifier = Modifier.fillMaxWidth().padding(5.dp) ){ Column( horizontalAlignment = Alignment.CenterHorizontally, modifier = Modifier.padding(0.dp, 5.dp) ) { - Text(text="Название:", fontSize = 30.sp, color = Color.Black, fontWeight = FontWeight.Bold) - Spacer(Modifier.height(40.dp)) - Text(text="Изображение:", fontSize = 30.sp, color = Color.Black, fontWeight = FontWeight.Bold) - Spacer(Modifier.height(40.dp)) - Text(text="Уровень:", fontSize = 30.sp, color = Color.Black, fontWeight = FontWeight.Bold) - Spacer(Modifier.height(40.dp)) - Text(text="Нация:", fontSize = 30.sp, color = Color.Black, fontWeight = FontWeight.Bold) - Spacer(Modifier.height(40.dp)) - Text(text="Стоимость:", fontSize = 30.sp, color = Color.Black, fontWeight = FontWeight.Bold) + Text( + text = "Название:", + fontSize = 30.sp, + color = Color.Black, + fontWeight = FontWeight.Bold + ) } - Column { - TextField( - value = tankUiState.tankDetails.name, - placeholder = { Text(text = "Название", color = CustomDark) }, - onValueChange = { onUpdate(tankUiState.tankDetails.copy(name = it)) }, - modifier = Modifier - .width(200.dp), - ) - Spacer(Modifier.height(10.dp)) + TextField( + value = tankUiState.tankDetails.name, + placeholder = { Text(text = "Название", color = CustomDark) }, + onValueChange = { onUpdate(tankUiState.tankDetails.copy(name = it)) }, + modifier = Modifier + .width(200.dp), + ) + } + Spacer(Modifier.height(10.dp)) + Row( + horizontalArrangement = Arrangement.SpaceBetween, + modifier = Modifier.fillMaxWidth().padding(5.dp) + ){ + Column( + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier.padding(0.dp, 5.dp) + ) { + Row( + horizontalArrangement = Arrangement.Center, + modifier = Modifier.fillMaxWidth() + ){ + Text(text="Изображение", fontSize = 30.sp, color = Color.Black, fontWeight = FontWeight.Bold) + } CuteImageUploader( - bitmap = tankUiState.tankDetails.image, + bitmap = tankUiState.tankDetails.miniature, onResult = { bitmap: Bitmap -> handleImageUpload(bitmap) } ) - Spacer(Modifier.height(10.dp)) - // Выпадающий список уровней - LevelDropDown( - levelUiState = levelUiState, - levelsListUiState = levelsListUiState, - onLevelUpdate = { - onUpdate(tankUiState.tankDetails.copy(levelId = it.uid)) - onLevelUpdate(it) - }, - ) - Spacer(Modifier.height(10.dp)) - // Выпадающий список наций - NationDropDown( - nationUiState = nationUiState, - nationsListUiState = nationsListUiState, - onNationUpdate = { - onUpdate(tankUiState.tankDetails.copy(nationId = it.uid)) - onNationUpdate(it) - }, - ) - Spacer(Modifier.height(10.dp)) - TextField( - value = tankUiState.tankDetails.price.toString(), - placeholder = { Text(text = "Стоимость", color = CustomDark) }, - onValueChange = { onUpdate(tankUiState.tankDetails.copy(price = it.toInt())) }, - modifier = Modifier - .width(200.dp), - ) } } + Spacer(Modifier.height(10.dp)) + Row( + horizontalArrangement = Arrangement.SpaceBetween, + modifier = Modifier.fillMaxWidth().padding(5.dp) + ){ + Column( + verticalArrangement = Arrangement.Center, + modifier = Modifier.padding(0.dp, 5.dp).fillMaxHeight() + ) { + Text(text="Уровень:", fontSize = 30.sp, color = Color.Black, fontWeight = FontWeight.Bold) + } + // Выпадающий список уровней + LevelDropDown( + levelUiState = levelUiState, + levelsListUiState = levelsListUiState, + onLevelUpdate = { + onUpdate(tankUiState.tankDetails.copy(levelId = it.uid)) + onLevelUpdate(it) + }, + ) + } + Spacer(Modifier.height(10.dp)) + Row( + horizontalArrangement = Arrangement.SpaceBetween, + modifier = Modifier.fillMaxWidth().padding(5.dp) + ){ + Column( + verticalArrangement = Arrangement.Center, + modifier = Modifier.padding(0.dp, 5.dp).fillMaxHeight() + ) { + Text(text="Нация:", fontSize = 30.sp, color = Color.Black, fontWeight = FontWeight.Bold) + } + // Выпадающий список наций + NationDropDown( + nationUiState = nationUiState, + nationsListUiState = nationsListUiState, + onNationUpdate = { + onUpdate(tankUiState.tankDetails.copy(nationId = it.uid)) + onNationUpdate(it) + }, + ) + } + Spacer(Modifier.height(10.dp)) + Row( + horizontalArrangement = Arrangement.SpaceBetween, + modifier = Modifier.fillMaxWidth().padding(5.dp) + ){ + Column( + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier.padding(0.dp, 5.dp) + ) { + Text(text="Стоимость:", fontSize = 30.sp, color = Color.Black, fontWeight = FontWeight.Bold) + } + TextField( + value = tankUiState.tankDetails.price.toString(), + placeholder = { Text(text = "Стоимость", color = CustomDark) }, + onValueChange = { onUpdate(tankUiState.tankDetails.copy(price = it.toInt())) }, + modifier = Modifier + .width(200.dp), + ) + } + Spacer(Modifier.height(10.dp)) Row( horizontalArrangement = Arrangement.Center, modifier = Modifier 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 dc8d50d..d41e25b 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 @@ -13,6 +13,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Card import androidx.compose.material3.CardDefaults import androidx.compose.material3.ExperimentalMaterial3Api @@ -57,6 +58,8 @@ import ru.ulstu.`is`.pmu.tank.model.Tank import ru.ulstu.`is`.pmu.tank.model.TankWithNationAndLevel import ru.ulstu.`is`.pmu.tank.model.UserWithTanks import ru.ulstu.`is`.pmu.tanks.composeui.image.CuteImage +import ru.ulstu.`is`.pmu.tanks.composeui.image.Dimensions +import ru.ulstu.`is`.pmu.tanks.composeui.image.RoundedCorderImage import ru.ulstu.`is`.pmu.ui.AppViewModelProvider import ru.ulstu.`is`.pmu.ui.theme.CustomDark import ru.ulstu.`is`.pmu.ui.theme.CustomYellow @@ -102,7 +105,7 @@ private fun Hangar( horizontalArrangement = Arrangement.SpaceAround, modifier = Modifier .fillMaxWidth() - .padding(10.dp, 0.dp, 10.dp, 0.dp) + .padding(5.dp, 0.dp, 5.dp, 0.dp) ) { var supportSizeRow = 1 @@ -113,11 +116,13 @@ private fun Hangar( //цикл для заполнения строки карточек for (m in 0..supportSizeRow) { Column( - modifier = Modifier.background(CustomYellow) + modifier = Modifier.background( + color = CustomYellow + ) ) { Box( Modifier - .background(CustomYellow) + .background(CustomYellow, shape = RoundedCornerShape(Dimensions.cornerRadius)) .height(260.dp), ) { @@ -126,10 +131,10 @@ private fun Hangar( containerColor = CustomYellow, ), modifier = Modifier - .size(width = 170.dp, height = 250.dp) + .size(width = 185.dp, height = 250.dp) .padding(10.dp, 0.dp, 10.dp, 0.dp) ) { - CuteImage( + RoundedCorderImage( imageBitmap = tankList[index].image.asImageBitmap(), modifier = Modifier.weight(0.5F) ) @@ -171,7 +176,6 @@ private fun Hangar( index++ } } - Spacer(Modifier.height(20.dp)) } } } diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/image/CuteImage.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/image/CuteImage.kt index 4f792ce..20bc015 100644 --- a/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/image/CuteImage.kt +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/image/CuteImage.kt @@ -19,7 +19,7 @@ fun CuteImage( contentDescription = null, contentScale = ContentScale.Crop, modifier = modifier - .aspectRatio(1F) - .clip(RoundedCornerShape(Dimensions.cornerRadius)) + .aspectRatio(16F/12F) + .clip(RoundedCornerShape(topStart = Dimensions.cornerRadius, topEnd = Dimensions.cornerRadius)) ) } \ No newline at end of file diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/image/CuteImageUploader.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/image/CuteImageUploader.kt index 83fe82c..350fb21 100644 --- a/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/image/CuteImageUploader.kt +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/image/CuteImageUploader.kt @@ -15,6 +15,7 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width @@ -66,7 +67,7 @@ fun CuteImageUploader( } Row( - modifier = Modifier.height(IntrinsicSize.Min) + modifier = Modifier.height(IntrinsicSize.Min).padding(5.dp) ) { Box( contentAlignment = Alignment.Center, @@ -75,11 +76,10 @@ fun CuteImageUploader( color = MaterialTheme.colorScheme.surface, shape = RoundedCornerShape(Dimensions.cornerRadius) ) - .weight(0.25F) - .aspectRatio(1F) + .weight(1F) ) { if (bitmap != null) { - CuteImage( + RoundedCorderImage( imageBitmap = bitmap.asImageBitmap(), modifier = Modifier.fillMaxSize() ) @@ -93,23 +93,21 @@ fun CuteImageUploader( } Spacer(modifier = Modifier.width(10.dp)) Column( - modifier = Modifier + Modifier .background( color = MaterialTheme.colorScheme.surface, shape = RoundedCornerShape(Dimensions.cornerRadius) ) - .fillMaxHeight() - .padding(10.dp) - .weight(0.75F) + .padding(10.dp).align(Alignment.CenterVertically) ) { Text( text = title, color = MaterialTheme.colorScheme.onBackground ) - Spacer(modifier = Modifier.weight(1F)) + Spacer(modifier = Modifier.height(10.dp)) Button( modifier = Modifier - .width(200.dp) + .width(130.dp) .height(50.dp), colors = ButtonDefaults.buttonColors( containerColor = CustomOrange, diff --git a/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/image/RoundedCorderImage.kt b/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/image/RoundedCorderImage.kt new file mode 100644 index 0000000..a29a686 --- /dev/null +++ b/compose/app/src/main/java/ru/ulstu/is/pmu/tanks/composeui/image/RoundedCorderImage.kt @@ -0,0 +1,25 @@ +package ru.ulstu.`is`.pmu.tanks.composeui.image + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.aspectRatio +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.ImageBitmap +import androidx.compose.ui.layout.ContentScale + +@Composable +fun RoundedCorderImage( + imageBitmap: ImageBitmap, + modifier: Modifier = Modifier +) { + Image( + bitmap = imageBitmap, + contentDescription = null, + contentScale = ContentScale.Crop, + modifier = modifier + .aspectRatio(16F/12F) + .clip(RoundedCornerShape(Dimensions.cornerRadius)) + ) +} \ No newline at end of file