diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 00cec77..b6101ca 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -56,4 +56,6 @@ dependencies {
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
+
+ implementation(project(":core"))
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/uikit/MainActivity.kt b/app/src/main/java/com/example/uikit/MainActivity.kt
index 4442e34..6c74ede 100644
--- a/app/src/main/java/com/example/uikit/MainActivity.kt
+++ b/app/src/main/java/com/example/uikit/MainActivity.kt
@@ -1,47 +1,413 @@
package com.example.uikit
+import android.annotation.SuppressLint
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
+import androidx.compose.foundation.background
+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.fillMaxSize
+import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.safeDrawingPadding
+import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.verticalScroll
+import androidx.compose.material3.Icon
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
-import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableIntStateOf
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.saveable.rememberSaveable
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
-import androidx.compose.ui.tooling.preview.Preview
-import com.example.uikit.ui.theme.UikitTheme
+import androidx.compose.ui.unit.dp
+import com.example.core.component.button.AppButton
+import com.example.core.component.button.BubbleButton
+import com.example.core.component.button.BubbleButtonState
+import com.example.core.component.button.ButtonState
+import com.example.core.component.button.CartButton
+import com.example.core.component.button.LoginButton
+import com.example.core.component.button.OutlinedAppButton
+import com.example.core.component.button.SecondaryAppButton
+import com.example.core.component.card.CartCard
+import com.example.core.component.card.PrimaryCard
+import com.example.core.component.card.ProjectCard
+import com.example.core.component.header.BigHeader
+import com.example.core.component.header.SmallHeader
+import com.example.core.component.input.EnterInputField
+import com.example.core.component.search.AppSearchField
+import com.example.core.component.select.AppSelector
+import com.example.core.component.select.Option
+import com.example.core.component.tabbar.BottomTabBar
+import com.example.core.component.tabbar.Catalog
+import com.example.core.component.tabbar.Home
+import com.example.core.component.tabbar.Profile
+import com.example.core.component.tabbar.Projects
+import com.example.core.theme.CustomIcons
+import com.example.core.theme.CustomTheme
class MainActivity : ComponentActivity() {
+ @SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
- UikitTheme {
- Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
- Greeting(
- name = "Android",
- modifier = Modifier.padding(innerPadding)
- )
+ CustomTheme {
+ Scaffold { tabPadding ->
+ var currentDestination by rememberSaveable { mutableStateOf("com.example.core.component.tabbar.Home") }
+ Scaffold(
+ bottomBar = {
+ BottomTabBar(
+ tabs = listOf(Home, Catalog, Projects, Profile),
+ hierarchy = sequenceOf(currentDestination),
+ onTabClick = {
+ currentDestination = it::class.qualifiedName.toString()
+ },
+ bottomPadding = tabPadding.calculateBottomPadding()
+ )
+ },
+ containerColor = CustomTheme.colors.white
+ ) {
+ Column(
+ modifier = Modifier
+ .safeDrawingPadding()
+ .fillMaxSize()
+ .padding(horizontal = 16.dp)
+ .background(CustomTheme.colors.white)
+ .verticalScroll(rememberScrollState()),
+ verticalArrangement = Arrangement.spacedBy(
+ 15.dp,
+ alignment = Alignment.CenterVertically
+ ),
+ horizontalAlignment = Alignment.CenterHorizontally
+ ) {
+ Text(text = "Инпуты", style = CustomTheme.typography.title1ExtraBold)
+ var fieldValue1 by rememberSaveable { mutableStateOf("") }
+ var errorMessage1 by rememberSaveable { mutableStateOf("") }
+ EnterInputField(
+ value = fieldValue1,
+ onValueChange = {
+ fieldValue1 = it
+ errorMessage1 = ""
+ },
+ errorMessage = errorMessage1,
+ label = "",
+ hint = "Введите имя"
+ )
+
+ var fieldValue2 by rememberSaveable { mutableStateOf("Иван") }
+ var errorMessage2 by rememberSaveable { mutableStateOf("") }
+ EnterInputField(
+ value = fieldValue2,
+ onValueChange = {
+ fieldValue2 = it
+ errorMessage2 = ""
+ },
+ errorMessage = errorMessage2,
+ label = "",
+ hint = "Введите имя"
+ )
+
+ var fieldValue3 by rememberSaveable { mutableStateOf("") }
+ var errorMessage3 by rememberSaveable { mutableStateOf("") }
+ EnterInputField(
+ value = fieldValue3,
+ onValueChange = {
+ fieldValue3 = it
+ errorMessage3 = ""
+ },
+ errorMessage = errorMessage3,
+ label = "Имя",
+ hint = "Введите имя"
+ )
+
+ var fieldValue4 by rememberSaveable { mutableStateOf("") }
+ var errorMessage4 by rememberSaveable { mutableStateOf("Введите ваше имя") }
+ EnterInputField(
+ value = fieldValue4,
+ onValueChange = {
+ fieldValue4 = it
+ errorMessage4 = ""
+ },
+ errorMessage = errorMessage4,
+ label = "Имя",
+ hint = "Введите имя"
+ )
+
+ var fieldValue5 by rememberSaveable { mutableStateOf("") }
+ var errorMessage5 by rememberSaveable { mutableStateOf("") }
+ EnterInputField(
+ value = fieldValue5,
+ onValueChange = {
+ fieldValue5 = it
+ errorMessage5 = ""
+ },
+ errorMessage = errorMessage5,
+ label = "Имя",
+ hint = "Введите имя"
+ )
+
+ var fieldValue6 by rememberSaveable { mutableStateOf("Введите имя") }
+ var errorMessage6 by rememberSaveable { mutableStateOf("") }
+ EnterInputField(
+ value = fieldValue6,
+ onValueChange = {
+ fieldValue6 = it
+ errorMessage6 = ""
+ },
+ errorMessage = errorMessage6,
+ label = "Имя",
+ hint = "Введите имя"
+ )
+
+ var fieldValue7 by rememberSaveable { mutableStateOf("123456789") }
+ var errorMessage7 by rememberSaveable { mutableStateOf("") }
+ EnterInputField(
+ value = fieldValue7,
+ onValueChange = {
+ fieldValue7 = it
+ errorMessage7 = ""
+ },
+ errorMessage = errorMessage7,
+ label = "",
+ isPassword = true,
+ hint = "Введите имя"
+ )
+
+ var fieldValue8 by rememberSaveable { mutableStateOf("") }
+ var errorMessage8 by rememberSaveable { mutableStateOf("") }
+ EnterInputField(
+ value = fieldValue8,
+ onValueChange = {
+ fieldValue8 = it
+ errorMessage8 = ""
+ },
+ errorMessage = errorMessage8,
+ label = "",
+ hint = "--.--.----"
+ )
+ /*
+ * F6.user5@local.ru
+ * Pa$$w0rd
+ * */
+
+ Text(text = "Селекты", style = CustomTheme.typography.title1ExtraBold)
+
+ var selectedOption1 by remember { mutableStateOf