diff --git a/ScanBaitComposeUI/.idea/caches/deviceStreaming.xml b/ScanBaitComposeUI/.idea/caches/deviceStreaming.xml new file mode 100644 index 0000000..cf29a49 --- /dev/null +++ b/ScanBaitComposeUI/.idea/caches/deviceStreaming.xml @@ -0,0 +1,485 @@ + + + + + + \ No newline at end of file diff --git a/ScanBaitComposeUI/.idea/gradle.xml b/ScanBaitComposeUI/.idea/gradle.xml new file mode 100644 index 0000000..72cb247 --- /dev/null +++ b/ScanBaitComposeUI/.idea/gradle.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/ScanBaitComposeUI/.idea/migrations.xml b/ScanBaitComposeUI/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/ScanBaitComposeUI/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/ScanBaitComposeUI/.idea/misc.xml b/ScanBaitComposeUI/.idea/misc.xml new file mode 100644 index 0000000..3040d03 --- /dev/null +++ b/ScanBaitComposeUI/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/ScanBaitComposeUI/.idea/runConfigurations.xml b/ScanBaitComposeUI/.idea/runConfigurations.xml new file mode 100644 index 0000000..16660f1 --- /dev/null +++ b/ScanBaitComposeUI/.idea/runConfigurations.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/ScanBaitComposeUI/.idea/workspace.xml b/ScanBaitComposeUI/.idea/workspace.xml new file mode 100644 index 0000000..1b3caf5 --- /dev/null +++ b/ScanBaitComposeUI/.idea/workspace.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + 1740057952679 + + + + \ No newline at end of file diff --git a/ScanBaitComposeUI/app/build.gradle.kts b/ScanBaitComposeUI/app/build.gradle.kts new file mode 100644 index 0000000..2b3b888 --- /dev/null +++ b/ScanBaitComposeUI/app/build.gradle.kts @@ -0,0 +1,69 @@ +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") +} + +android { + namespace = "ai.codia.x.composeui.demo" + compileSdk = 34 + + defaultConfig { + applicationId = "ai.codia.x.composeui.demo" + minSdk = 26 + targetSdk = 34 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + vectorDrawables { + useSupportLibrary = true + } + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.4.3" + } + packaging { + resources { + excludes += "/META-INF/{AL2.0,LGPL2.1}" + } + } +} + +dependencies { + + implementation("androidx.core:core-ktx:1.9.0") + implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2") + implementation("androidx.activity:activity-compose:1.8.2") + implementation(platform("androidx.compose:compose-bom:2023.03.00")) + implementation("androidx.compose.ui:ui") + implementation("androidx.compose.ui:ui-graphics") + implementation("androidx.compose.ui:ui-tooling-preview") + implementation("androidx.compose.material3:material3") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") + androidTestImplementation(platform("androidx.compose:compose-bom:2023.03.00")) + androidTestImplementation("androidx.compose.ui:ui-test-junit4") + debugImplementation("androidx.compose.ui:ui-tooling") + debugImplementation("androidx.compose.ui:ui-test-manifest") +} \ No newline at end of file diff --git a/ScanBaitComposeUI/app/proguard-rules.pro b/ScanBaitComposeUI/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/ScanBaitComposeUI/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ScanBaitComposeUI/app/src/main/AndroidManifest.xml b/ScanBaitComposeUI/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..5e1e3c1 --- /dev/null +++ b/ScanBaitComposeUI/app/src/main/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/AdvancedShadow.kt b/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/AdvancedShadow.kt new file mode 100644 index 0000000..ca15b2d --- /dev/null +++ b/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/AdvancedShadow.kt @@ -0,0 +1,46 @@ +package ai.codia.x.composeui.demo + +import androidx.compose.foundation.layout.size +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.drawBehind +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.Paint +import androidx.compose.ui.graphics.drawscope.drawIntoCanvas +import androidx.compose.ui.graphics.toArgb +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp + +fun Modifier.advancedShadow( + color: Color = Color.Black, + alpha: Float = 0f, + cornersRadius: Dp = 0.dp, + shadowBlurRadius: Dp = 0.dp, + offsetY: Dp = 0.dp, + offsetX: Dp = 0.dp +) = drawBehind { + + val shadowColor = color.copy(alpha = alpha).toArgb() + val transparentColor = color.copy(alpha = 0f).toArgb() + + drawIntoCanvas { + val paint = Paint() + paint.color = Color.Transparent + val frameworkPaint = paint.asFrameworkPaint() + frameworkPaint.color = transparentColor + frameworkPaint.setShadowLayer( + shadowBlurRadius.toPx(), + offsetX.toPx(), + offsetY.toPx(), + shadowColor + ) + it.drawRoundRect( + 0f, + 0f, + this.size.width, + this.size.height, + cornersRadius.toPx(), + cornersRadius.toPx(), + paint + ) + } +} diff --git a/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/CodiaMainView.kt b/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/CodiaMainView.kt new file mode 100644 index 0000000..af8fd11 --- /dev/null +++ b/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/CodiaMainView.kt @@ -0,0 +1,1067 @@ +package ai.codia.x.composeui.demo + +import ai.codia.x.composeui.demo.ui.theme.CodiaDemoComposeUITheme +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +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.offset +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.layout.wrapContentHeight +import androidx.compose.foundation.layout.wrapContentSize +import androidx.compose.foundation.layout.wrapContentWidth +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateListOf +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.draw.clipToBounds +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp + +/** + * Created by codia-figma + */ +@Composable +fun CodiaMainView() { + // Column-19:3184-ru phone + Column( + verticalArrangement = Arrangement.spacedBy(space = 50.dp, alignment = Alignment.Top), + horizontalAlignment = Alignment.Start, + modifier = Modifier + .wrapContentHeight() + .width(412.dp), + ) { + // Box-19:3185-Android Compact - 1 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.Start) + .fillMaxWidth() + .padding(start = 0.dp, end = 0.dp) + .height(917.dp) + .clipToBounds(), + ) { + // Empty-19:3186-Rectangle 240652680 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 0.dp, y = 32.dp) + .size(412.dp, 383.dp), + ) + // Empty-19:3187-Rectangle 240652681 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .size(412.dp, 393.dp), + ) + // Column-19:3188-Frame 1 + Column( + verticalArrangement = Arrangement.spacedBy(space = 14.dp, alignment = Alignment.Top), + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 104.dp, y = 100.dp) + .size(203.dp, 194.dp), + ) { + // Text-19:3189-ScanBait + Text( + modifier = Modifier + .align(Alignment.Start) + .fillMaxWidth() + .padding(start = 0.dp, end = 0.dp) + .height(29.dp), + text = "ScanBait", + color = Color(0xffffffff), + fontSize = 24.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + // Image-19:3190-Frame + Image( + painter = painterResource(id = R.drawable.image_193190), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.CenterHorizontally) + .size(105.dp, 137.dp) + .clipToBounds(), + ) + } + // Box-19:3197-Group 2085660510 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 27.dp, y = 316.dp) + .size(358.dp, 316.dp), + ) { + // Box-19:3198-Group 2085660550 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .size(358.dp, 316.dp), + ) { + // Empty-19:3199-Rectangle 2 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .background(Color(0xfffafdff), RoundedCornerShape(30.dp)) + .size(358.dp, 316.dp), + ) + // Column-19:3200-Frame 2 + Column( + verticalArrangement = Arrangement.spacedBy(space = 8.dp, alignment = Alignment.Top), + horizontalAlignment = Alignment.Start, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 17.dp, y = 45.dp) + .size(321.dp, 54.dp), + ) { + // Text-19:3201-Добро пожаловать в ScanBait + Text( + modifier = Modifier + .align(Alignment.Start) + .fillMaxWidth() + .padding(start = 0.dp, end = 0.dp) + .height(23.dp), + text = "Добро пожаловать в ScanBait", + color = Color(0xff021829), + fontSize = 18.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + // Text-19:3202-Система блеблеблеблеблебле + Text( + modifier = Modifier + .align(Alignment.Start) + .fillMaxWidth() + .padding(start = 0.dp, end = 0.dp) + .height(23.dp), + text = "Система блеблеблеблеблебле", + color = Color(0xff021829), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + } + // Row-19:3203-Frame 3 + Row( + horizontalArrangement = Arrangement.spacedBy(space = 10.dp, alignment = Alignment.CenterHorizontally), + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 17.dp, y = 135.dp) + .size(322.dp, 56.dp) + .padding(horizontal = 107.dp, vertical = 18.dp), + ) { + // Text-19:3204-ВХОД + Text( + modifier = Modifier + .align(Alignment.CenterVertically) + .wrapContentSize(), + text = "ВХОД", + color = Color(0xffffffff), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + } + } + } + // Text-19:3207-БАИТ + Text( + modifier = Modifier + .align(Alignment.BottomCenter) + .offset(x = -1.5.dp, y = -24.dp) + .size(321.dp, 23.dp), + text = "БАИТ", + color = Color(0xff021829), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + // Text-55:1950-ru/eng + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 94.dp, y = 604.dp) + .size(224.dp, 19.dp), + text = "ru/eng", + color = undefined, + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + // Image-55:1959-Frame + Image( + painter = painterResource(id = R.drawable.image_551959), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 44.dp, y = 519.dp) + .size(322.dp, 56.dp) + .clipToBounds(), + ) + // Text-19:3206-ВХОД ДЛЯ АДМИНА + Text( + modifier = Modifier + .align(Alignment.TopStart) + .wrapContentSize() + .offset(x = 123.5.dp, y = 537.5.dp), + text = "ВХОД ДЛЯ АДМИНА", + color = undefined, + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + } + // Box-19:3208-Android Compact - 5 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.Start) + .fillMaxWidth() + .padding(start = 0.dp, end = 0.dp) + .height(917.dp) + .clipToBounds(), + ) { + // Empty-19:3209-Rectangle 240652681 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 0.dp, y = 32.dp) + .size(412.dp, 383.dp), + ) + // Empty-19:3210-Rectangle 240652680 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .size(412.dp, 393.dp), + ) + // Column-19:3211-Frame 7 + Column( + verticalArrangement = Arrangement.spacedBy(space = 14.dp, alignment = Alignment.Top), + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier + .align(Alignment.TopCenter) + .wrapContentHeight() + .offset(x = -0.5.dp, y = 65.dp) + .width(203.dp), + ) { + // Text-19:3212-ScanBait + Text( + modifier = Modifier + .align(Alignment.Start) + .fillMaxWidth() + .padding(start = 0.dp, end = 0.dp) + .height(29.dp), + text = "ScanBait", + color = Color(0xffffffff), + fontSize = 24.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + // Image-19:3213-Frame + Image( + painter = painterResource(id = R.drawable.image_193213), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.CenterHorizontally) + .size(105.dp, 137.dp) + .clipToBounds(), + ) + } + // Box-19:3220-Group 2085660510 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 27.dp, y = 316.dp) + .size(358.dp, 373.dp), + ) { + // Empty-19:3221-Rectangle 4 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 17.dp, y = 202.dp) + .size(322.dp, 56.dp), + ) + // Box-19:3222-Group 2085660551 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .size(358.dp, 373.dp), + ) { + // Empty-19:3223-Rectangle 2 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .background(Color(0xfffafdff), RoundedCornerShape(30.dp)) + .size(358.dp, 373.dp), + ) + // Column-19:3224-Frame 8 + Column( + verticalArrangement = Arrangement.spacedBy(space = 8.dp, alignment = Alignment.Top), + horizontalAlignment = Alignment.Start, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 17.dp, y = 45.dp) + .size(321.dp, 54.dp), + ) { + // Text-19:3225-Добро пожаловать в ScanBait + Text( + modifier = Modifier + .align(Alignment.Start) + .fillMaxWidth() + .padding(start = 0.dp, end = 0.dp) + .height(23.dp), + text = "Добро пожаловать в ScanBait", + color = Color(0xff021829), + fontSize = 18.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + // Text-19:3226-Система блеблеблеблеблебле + Text( + modifier = Modifier + .align(Alignment.Start) + .fillMaxWidth() + .padding(start = 0.dp, end = 0.dp) + .height(23.dp), + text = "Система блеблеблеблеблебле", + color = Color(0xff021829), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + } + // Box-19:3227-Group 2085660513 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 100.dp, y = 287.dp) + .size(156.dp, 44.dp), + ) { + // Empty-19:3228-Rectangle 3 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .size(156.dp, 44.dp), + ) + // Text-19:3229-ВОЙТИ + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 25.dp, y = 12.dp) + .size(107.dp, 19.dp), + text = "ВОЙТИ", + color = Color(0xffffffff), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + } + // Box-19:3230-Group 2085660512 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 17.dp, y = 202.dp) + .size(322.dp, 159.dp), + ) { + // Empty-19:3231-Rectangle 5 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .size(322.dp, 56.dp), + ) + // Text-19:3232-ВВЕДИТЕ ПАРОЛЬ + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 17.dp, y = 18.dp) + .size(226.dp, 19.dp), + text = "ВВЕДИТЕ ПАРОЛЬ", + color = Color(0xffffffff), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + // Text-55:816-ru/eng + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 50.dp, y = 140.dp) + .size(224.dp, 19.dp), + text = "ru/eng", + color = undefined, + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + } + // Box-19:3233-Group 2085660511 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 17.dp, y = 132.dp) + .size(322.dp, 56.dp), + ) { + // Image-55:1956-Frame + Image( + painter = painterResource(id = R.drawable.image_551956), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.TopStart) + .size(322.dp, 56.dp) + .clipToBounds(), + ) + // Text-19:3235-ВВЕДИТЕ ЛОГИН + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 17.dp, y = 18.dp) + .size(219.dp, 19.dp), + text = "ВВЕДИТЕ ЛОГИН", + color = undefined, + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + } + } + } + // Text-19:3236-АВТОРИЗАЦИЯ + Text( + modifier = Modifier + .align(Alignment.TopCenter) + .offset(x = 3.5.dp, y = 273.dp) + .size(359.dp, 29.dp), + text = "АВТОРИЗАЦИЯ", + color = Color(0xffffffff), + fontSize = 24.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + // Text-19:3237-БАИТ + Text( + modifier = Modifier + .align(Alignment.BottomCenter) + .offset(x = -1.5.dp, y = -24.dp) + .size(321.dp, 23.dp), + text = "БАИТ", + color = Color(0xff021829), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + } + // Box-19:3238-Android Compact - 4 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.Start) + .fillMaxWidth() + .padding(start = 0.dp, end = 0.dp) + .height(917.dp) + .clipToBounds(), + ) { + // Empty-19:3239-Rectangle 1 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .size(412.dp, 839.dp), + ) + // Empty-19:3240-Rectangle 2 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 27.dp, y = 103.dp) + .background(Color(0xfffafdff), RoundedCornerShape(20.dp)) + .size(358.dp, 757.dp), + ) + // Text-19:3243-БАИТ + Text( + modifier = Modifier + .align(Alignment.BottomCenter) + .offset(x = 0.5.dp, y = -21.dp) + .size(321.dp, 23.dp), + text = "БАИТ", + color = Color(0xff021829), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + // Row-19:3244-Frame 2085660562 + Row( + horizontalArrangement = Arrangement.spacedBy(space = 16.dp, alignment = Alignment.Start), + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .align(Alignment.TopStart) + .wrapContentSize() + .offset(x = 27.dp, y = 30.dp), + ) { + // Image-19:3245-Frame + Image( + painter = painterResource(id = R.drawable.image_193245), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.CenterVertically) + .size(55.dp, 71.dp) + .clipToBounds(), + ) + // Text-19:3252-ScanBait + Text( + modifier = Modifier + .align(Alignment.CenterVertically) + .size(288.dp, 69.dp), + text = "ScanBait", + color = Color(0xffffffff), + fontSize = 48.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + } + // Box-19:3253-Frame 2085660560 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 43.dp, y = 233.dp) + .size(325.dp, 273.dp) + .clipToBounds(), + ) { + // Text-19:3254-ДАННЫЕ О ВХОДЕ + Text( + modifier = Modifier + .align(Alignment.TopStart) + .wrapContentHeight() + .width(326.dp), + text = "ДАННЫЕ О ВХОДЕ", + color = undefined, + fontSize = 24.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + // Box-19:3255-Group 2085660559 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 0.dp, y = 59.dp) + .size(325.dp, 180.dp), + ) { + // Box-19:3256-Group 2085660556 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 1.dp, y = 0.dp) + .size(324.dp, 36.dp), + ) { + // Text-19:3257-Время сканирования: + Text( + modifier = Modifier + .align(Alignment.TopStart) + .size(325.dp, 17.dp), + text = "Время сканирования:", + color = Color(0xff00203a), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + // Text-19:3258-18:00 инфа крч + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 0.dp, y = 19.dp) + .size(325.dp, 17.dp), + text = "18:00 инфа крч", + color = Color(0xff00203a), + fontSize = 13.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + } + // Box-19:3259-Group 2085660558 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 1.dp, y = 144.dp) + .size(324.dp, 36.dp), + ) { + // Text-19:3260-Тип прохода: + Text( + modifier = Modifier + .align(Alignment.TopStart) + .size(325.dp, 17.dp), + text = "Тип прохода:", + color = Color(0xff00203a), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + // Text-19:3261-какойто тип + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 0.dp, y = 19.dp) + .size(325.dp, 17.dp), + text = "какойто тип", + color = Color(0xff00203a), + fontSize = 13.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + } + // Box-19:3262-Group 2085660557 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 0.dp, y = 72.dp) + .size(324.dp, 36.dp), + ) { + // Text-19:3263-Идентификатор: + Text( + modifier = Modifier + .align(Alignment.TopStart) + .size(325.dp, 17.dp), + text = "Идентификатор:\n", + color = Color(0xff00203a), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + // Text-19:3264-qr код + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 0.dp, y = 19.dp) + .size(325.dp, 17.dp), + text = "qr код\n", + color = Color(0xff00203a), + fontSize = 13.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + } + } + } + // Row-19:3265-Frame 2085660561 + Row( + horizontalArrangement = Arrangement.spacedBy(space = 18.dp, alignment = Alignment.Start), + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 44.dp, y = 118.dp) + .size(326.dp, 57.dp), + ) { + // Image-19:3266-Ellipse 4 + Image( + painter = painterResource(id = R.drawable.image1_193266), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.CenterVertically) + .size(50.dp, 50.dp), + ) + // Box-19:3267-Group 2085660560 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.CenterVertically) + .offset(x = 0.dp, y = 0.0005000000000023874.dp) + .size(171.dp, 48.813.dp), + ) { + // Text-19:3268-Имя сотрудника + Text( + modifier = Modifier + .align(Alignment.TopStart) + .size(172.dp, 27.dp), + text = "Имя сотрудника", + color = Color(0xff00203a), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + // Text-19:3269-@логин + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 0.dp, y = 21.813.dp) + .size(172.dp, 27.dp), + text = "@логин", + color = Color(0xff00203a), + fontSize = 14.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + } + // Image-55:1921-Frame 2085660565 + Image( + painter = painterResource(id = R.drawable.image2_551921), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.CenterVertically) + .wrapContentSize(), + ) + } + // Row-55:818-Frame 3 + Row( + horizontalArrangement = Arrangement.spacedBy(space = 10.dp, alignment = Alignment.CenterHorizontally), + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 45.dp, y = 752.dp) + .size(322.dp, 56.dp) + .padding(horizontal = 107.dp, vertical = 18.dp), + ) { + // Text-55:819-СКАНИРОВАТЬ + Text( + modifier = Modifier + .align(Alignment.CenterVertically) + .wrapContentSize(), + text = "СКАНИРОВАТЬ", + color = Color(0xffffffff), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + } + } + // Box-19:3274-Android Compact - 3 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.Start) + .fillMaxWidth() + .padding(start = 0.dp, end = 0.dp) + .height(917.dp) + .clipToBounds(), + ) { + // Empty-19:3275-Rectangle 1 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .size(412.dp, 839.dp), + ) + // Text-19:3276-ПАНЕЛЬ АДМИНИСТРАТОРА + Text( + modifier = Modifier + .align(Alignment.TopCenter) + .offset(x = 0.dp, y = 95.dp) + .size(360.dp, 29.dp), + text = "ПАНЕЛЬ АДМИНИСТРАТОРА", + color = Color(0xffffffff), + fontSize = 24.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + // Empty-19:3277-Rectangle 2 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 27.dp, y = 132.dp) + .background(Color(0xfffafdff), RoundedCornerShape(20.dp)) + .size(358.dp, 728.dp), + ) + // Row-19:3278-Frame 1 + Row( + horizontalArrangement = Arrangement.spacedBy(space = 10.dp, alignment = Alignment.Start), + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 45.dp, y = 150.dp) + .size(322.dp, 56.dp) + .padding(all = 10.dp), + ) { + // Image-19:3279-Group + Image( + painter = painterResource(id = R.drawable.image_193279), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.CenterVertically) + .size(36.dp, 36.dp), + ) + // Text-19:3281-ПОИСК ПО СОТРУДНИКУ + Text( + modifier = Modifier + .align(Alignment.CenterVertically) + .size(235.dp, 19.dp), + text = "ПОИСК ПО СОТРУДНИКУ", + color = undefined, + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + } + // Image-55:1963-Vector + Image( + painter = painterResource(id = R.drawable.image_551963), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 46.dp, y = 151.dp) + .size(320.dp, 54.dp), + ) + // Row-19:3282-Frame 2085660562 + Row( + horizontalArrangement = Arrangement.spacedBy(space = 16.dp, alignment = Alignment.Start), + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .align(Alignment.TopStart) + .wrapContentSize() + .offset(x = 27.dp, y = 24.dp), + ) { + // Image-19:3283-Frame + Image( + painter = painterResource(id = R.drawable.image_193283), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.CenterVertically) + .size(55.dp, 71.dp) + .clipToBounds(), + ) + // Text-19:3290-ScanBait + Text( + modifier = Modifier + .align(Alignment.CenterVertically) + .size(288.dp, 69.dp), + text = "ScanBait", + color = Color(0xffffffff), + fontSize = 48.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Left, + overflow = TextOverflow.Ellipsis, + ) + } + // Box-19:3293-Group 2085660509 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 45.dp, y = 224.dp) + .size(322.dp, 591.dp), + ) { + // Empty-19:3294-Rectangle 3 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .size(272.dp, 31.dp), + ) + // Text-19:3295-ЛОГИН + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 8.dp, y = 8.dp) + .size(51.dp, 15.dp), + text = "ЛОГИН", + color = Color(0xffffffff), + fontSize = 10.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + // Text-19:3296-ВРЕМЯ + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 76.dp, y = 8.dp) + .size(51.dp, 15.dp), + text = "ВРЕМЯ", + color = Color(0xffffffff), + fontSize = 10.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + // Text-19:3297-НАЗВАНИЕ + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 141.dp, y = 8.dp) + .size(57.dp, 15.dp), + text = "НАЗВАНИЕ", + color = Color(0xffffffff), + fontSize = 10.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + // Text-19:3298-ТИП + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 212.dp, y = 8.dp) + .size(51.dp, 15.dp), + text = "ТИП", + color = Color(0xffffffff), + fontSize = 10.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + // Image-19:3299-Group 2085660554 + Image( + painter = painterResource(id = R.drawable.image1_193299), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 0.dp, y = 31.dp) + .size(314.dp, 560.dp), + ) + // Image-19:3414-Group 2085660508 + Image( + painter = painterResource(id = R.drawable.image2_193414), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 1.dp, y = 0.dp) + .size(203.dp, 589.dp), + ) + // Box-19:3419-Group 2085660549 + Box( + contentAlignment = Alignment.TopStart, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 271.dp, y = 0.dp) + .size(51.dp, 31.dp), + ) { + // Empty-19:3420-Rectangle 10 + Box( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 3.dp, y = 0.dp) + .size(48.dp, 31.dp), + ) + // Text-19:3421-off/on + Text( + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 0.dp, y = 8.dp) + .size(51.dp, 15.dp), + text = "off/on", + color = Color(0xffffffff), + fontSize = 10.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + } + // Image-19:3422-ГОР + Image( + painter = painterResource(id = R.drawable.image3_193422), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .align(Alignment.TopStart) + .offset(x = 1.679.dp, y = 51.dp) + .size(268.642.dp, 520.dp), + ) + } + // Text-19:3450-БАИТ + Text( + modifier = Modifier + .align(Alignment.BottomCenter) + .offset(x = 1.5.dp, y = -21.dp) + .size(321.dp, 23.dp), + text = "БАИТ", + color = Color(0xff021829), + fontSize = 16.sp, + fontWeight = FontWeight.Normal, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + ) + } + } +} + +@Preview(showBackground = true) +@Composable +fun CodiaMainViewPreview() { + CodiaDemoComposeUITheme { + Surface( + modifier = Modifier.fillMaxSize(), + color = MaterialTheme.colorScheme.background + ) { + val scrollState = rememberScrollState() + Column(modifier = Modifier.verticalScroll(scrollState)) { + CodiaMainView() + } + } + } +} diff --git a/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/MainActivity.kt b/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/MainActivity.kt new file mode 100644 index 0000000..c5ab012 --- /dev/null +++ b/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/MainActivity.kt @@ -0,0 +1,45 @@ +package ai.codia.x.composeui.demo + +import ai.codia.x.composeui.demo.ui.theme.CodiaDemoComposeUITheme +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview + +/** + * Created by codia-figma + */ +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContent { + CodiaDemoComposeUITheme { + // A surface container using the 'background' color from the theme + Surface( + modifier = Modifier.fillMaxSize(), + color = MaterialTheme.colorScheme.background + ) { + Column(modifier = Modifier.verticalScroll(rememberScrollState())) { + CodiaMainView() + } + } + } + } + } +} + +@Preview(showBackground = true) +@Composable +fun GreetingPreview() { + CodiaDemoComposeUITheme { + CodiaMainView() + } +} diff --git a/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/ui/theme/Color.kt b/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/ui/theme/Color.kt new file mode 100644 index 0000000..aa36d56 --- /dev/null +++ b/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/ui/theme/Color.kt @@ -0,0 +1,11 @@ +package ai.codia.x.composeui.demo.ui.theme + +import androidx.compose.ui.graphics.Color + +val Purple80 = Color(0xFFD0BCFF) +val PurpleGrey80 = Color(0xFFCCC2DC) +val Pink80 = Color(0xFFEFB8C8) + +val Purple40 = Color(0xFF6650a4) +val PurpleGrey40 = Color(0xFF625b71) +val Pink40 = Color(0xFF7D5260) \ No newline at end of file diff --git a/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/ui/theme/Theme.kt b/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/ui/theme/Theme.kt new file mode 100644 index 0000000..18653f8 --- /dev/null +++ b/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/ui/theme/Theme.kt @@ -0,0 +1,70 @@ +package ai.codia.x.composeui.demo.ui.theme + +import android.app.Activity +import android.os.Build +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.dynamicDarkColorScheme +import androidx.compose.material3.dynamicLightColorScheme +import androidx.compose.material3.lightColorScheme +import androidx.compose.runtime.Composable +import androidx.compose.runtime.SideEffect +import androidx.compose.ui.graphics.toArgb +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalView +import androidx.core.view.WindowCompat + +private val DarkColorScheme = darkColorScheme( + primary = Purple80, + secondary = PurpleGrey80, + tertiary = Pink80 +) + +private val LightColorScheme = lightColorScheme( + primary = Purple40, + secondary = PurpleGrey40, + tertiary = Pink40 + + /* Other default colors to override + background = Color(0xFFFFFBFE), + surface = Color(0xFFFFFBFE), + onPrimary = Color.White, + onSecondary = Color.White, + onTertiary = Color.White, + onBackground = Color(0xFF1C1B1F), + onSurface = Color(0xFF1C1B1F), + */ +) + +@Composable +fun CodiaDemoComposeUITheme( + darkTheme: Boolean = isSystemInDarkTheme(), + // Dynamic color is available on Android 12+ + dynamicColor: Boolean = true, + content: @Composable () -> Unit +) { + val colorScheme = when { + dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { + val context = LocalContext.current + if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) + } + + darkTheme -> DarkColorScheme + else -> LightColorScheme + } + val view = LocalView.current + if (!view.isInEditMode) { + SideEffect { + val window = (view.context as Activity).window + window.statusBarColor = colorScheme.primary.toArgb() + WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme + } + } + + MaterialTheme( + colorScheme = colorScheme, + typography = Typography, + content = content + ) +} \ No newline at end of file diff --git a/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/ui/theme/Type.kt b/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/ui/theme/Type.kt new file mode 100644 index 0000000..cc7ca0a --- /dev/null +++ b/ScanBaitComposeUI/app/src/main/java/ai/codia/x/composeui/demo/ui/theme/Type.kt @@ -0,0 +1,34 @@ +package ai.codia.x.composeui.demo.ui.theme + +import androidx.compose.material3.Typography +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp + +// Set of Material typography styles to start with +val Typography = Typography( + bodyLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 16.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ) + /* Other default text styles to override + titleLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 22.sp, + lineHeight = 28.sp, + letterSpacing = 0.sp + ), + labelSmall = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Medium, + fontSize = 11.sp, + lineHeight = 16.sp, + letterSpacing = 0.5.sp + ) + */ +) \ No newline at end of file diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/ic_launcher.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..7aab148 Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/ic_launcher.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image1_193266.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image1_193266.png new file mode 100644 index 0000000..3000ee4 Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image1_193266.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image1_193299.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image1_193299.png new file mode 100644 index 0000000..b0b96d7 Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image1_193299.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image2_193414.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image2_193414.png new file mode 100644 index 0000000..d18593a Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image2_193414.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image2_551921.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image2_551921.png new file mode 100644 index 0000000..6cd87b5 Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image2_551921.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image3_193422.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image3_193422.png new file mode 100644 index 0000000..bc131da Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image3_193422.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193190.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193190.png new file mode 100644 index 0000000..e25d868 Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193190.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193213.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193213.png new file mode 100644 index 0000000..4b60040 Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193213.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193245.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193245.png new file mode 100644 index 0000000..c1672fb Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193245.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193279.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193279.png new file mode 100644 index 0000000..dc65a23 Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193279.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193283.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193283.png new file mode 100644 index 0000000..62301b0 Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_193283.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_551956.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_551956.png new file mode 100644 index 0000000..7b4e85d Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_551956.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_551959.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_551959.png new file mode 100644 index 0000000..7b4e85d Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_551959.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_551963.png b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_551963.png new file mode 100644 index 0000000..4169b85 Binary files /dev/null and b/ScanBaitComposeUI/app/src/main/res/drawable-xxhdpi/image_551963.png differ diff --git a/ScanBaitComposeUI/app/src/main/res/values/colors.xml b/ScanBaitComposeUI/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f8c6127 --- /dev/null +++ b/ScanBaitComposeUI/app/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/ScanBaitComposeUI/app/src/main/res/values/strings.xml b/ScanBaitComposeUI/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..6bb04d3 --- /dev/null +++ b/ScanBaitComposeUI/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + CodiaDemoComposeUI + \ No newline at end of file diff --git a/ScanBaitComposeUI/app/src/main/res/values/themes.xml b/ScanBaitComposeUI/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..0561473 --- /dev/null +++ b/ScanBaitComposeUI/app/src/main/res/values/themes.xml @@ -0,0 +1,5 @@ + + + +