sprint-1 #1
@ -4,12 +4,14 @@ import android.os.Bundle
|
|||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
import androidx.activity.compose.setContent
|
import androidx.activity.compose.setContent
|
||||||
import androidx.activity.enableEdgeToEdge
|
import androidx.activity.enableEdgeToEdge
|
||||||
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.material3.Scaffold
|
import androidx.compose.material3.Scaffold
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import com.example.libary.theme.UikitTheme
|
import com.example.libary.theme.UikitTheme
|
||||||
|
|
||||||
@ -19,11 +21,15 @@ class MainActivity : ComponentActivity() {
|
|||||||
enableEdgeToEdge()
|
enableEdgeToEdge()
|
||||||
setContent {
|
setContent {
|
||||||
UikitTheme {
|
UikitTheme {
|
||||||
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
|
Scaffold(
|
||||||
Greeting(
|
modifier = Modifier.fillMaxSize(),
|
||||||
name = "Android",
|
containerColor = Color.White
|
||||||
|
) { innerPadding ->
|
||||||
|
Column(
|
||||||
modifier = Modifier.padding(innerPadding)
|
modifier = Modifier.padding(innerPadding)
|
||||||
)
|
) {
|
||||||
|
StoryBook()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
406
app/src/main/java/com/example/ui_kit/StoryBook.kt
Normal file
406
app/src/main/java/com/example/ui_kit/StoryBook.kt
Normal file
@ -0,0 +1,406 @@
|
|||||||
|
package com.example.ui_kit
|
||||||
|
|
||||||
|
import androidx.compose.foundation.Image
|
||||||
|
import androidx.compose.foundation.background
|
||||||
|
import androidx.compose.foundation.layout.Box
|
||||||
|
import androidx.compose.foundation.layout.Row
|
||||||
|
import androidx.compose.foundation.layout.Spacer
|
||||||
|
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.layout.width
|
||||||
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
|
import androidx.compose.foundation.shape.AbsoluteRoundedCornerShape
|
||||||
|
import androidx.compose.material3.Text
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.getValue
|
||||||
|
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.draw.clip
|
||||||
|
import androidx.compose.ui.res.painterResource
|
||||||
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
|
import androidx.compose.ui.unit.dp
|
||||||
|
import androidx.compose.ui.unit.sp
|
||||||
|
import com.example.libary.BaseCard
|
||||||
|
import com.example.libary.BigButton
|
||||||
|
import com.example.libary.BigButtonState
|
||||||
|
import com.example.libary.BottomSheet
|
||||||
|
import com.example.libary.CartButton
|
||||||
|
import com.example.libary.CartCard
|
||||||
|
import com.example.libary.ChipButton
|
||||||
|
import com.example.libary.ChipButtonState
|
||||||
|
import com.example.libary.Header
|
||||||
|
import com.example.libary.HeaderState
|
||||||
|
import com.example.libary.Input
|
||||||
|
import com.example.libary.LoginButton
|
||||||
|
import com.example.libary.LoginState
|
||||||
|
import com.example.libary.PrimaryCard
|
||||||
|
import com.example.libary.ProjectCard
|
||||||
|
import com.example.libary.SearchInput
|
||||||
|
import com.example.libary.Select
|
||||||
|
import com.example.libary.SmallButton
|
||||||
|
import com.example.libary.SmallButtonState
|
||||||
|
import com.example.libary.TabBar
|
||||||
|
import com.example.libary.defaultTabBarData
|
||||||
|
import com.example.libary.theme.BlackColor
|
||||||
|
import com.example.libary.theme.IconsColor
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun StoryBook(
|
||||||
|
|
||||||
|
) {
|
||||||
|
var modal by remember { mutableStateOf(false) }
|
||||||
|
|
||||||
|
var inVal by remember { mutableStateOf("") }
|
||||||
|
var passinVal by remember { mutableStateOf("123456789") }
|
||||||
|
|
||||||
|
val searchInput = remember { mutableStateOf("") }
|
||||||
|
val valSelect = remember { mutableStateOf("") }
|
||||||
|
val valSelect1 = remember { mutableStateOf("Гарвард Троцкий") }
|
||||||
|
|
||||||
|
val valueTabBar1 = remember { mutableStateOf(defaultTabBarData[0]) }
|
||||||
|
val valueTabBar2 = remember { mutableStateOf(defaultTabBarData[1]) }
|
||||||
|
val valueTabBar3 = remember { mutableStateOf(defaultTabBarData[2]) }
|
||||||
|
val valueTabBar4 = remember { mutableStateOf(defaultTabBarData[3]) }
|
||||||
|
|
||||||
|
if (modal) {
|
||||||
|
BottomSheet {
|
||||||
|
Row {
|
||||||
|
Text(
|
||||||
|
text = "Рубашка Воскресенье для машинного вязания",
|
||||||
|
color = BlackColor,
|
||||||
|
fontSize = 20.sp,
|
||||||
|
fontWeight = FontWeight.W800,
|
||||||
|
modifier = Modifier.weight(1f)
|
||||||
|
)
|
||||||
|
|
||||||
|
Box(
|
||||||
|
contentAlignment = Alignment.Center,
|
||||||
|
modifier = Modifier.size(24.dp)
|
||||||
|
.background(IconsColor.copy(0.3f), AbsoluteRoundedCornerShape(90.dp))
|
||||||
|
.clip(AbsoluteRoundedCornerShape(90.dp))
|
||||||
|
) {
|
||||||
|
Image(
|
||||||
|
painter = painterResource(com.example.libary.R.drawable.delete),
|
||||||
|
contentDescription = null
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Spacer(Modifier.height(84.dp))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
LazyColumn(
|
||||||
|
modifier = Modifier.fillMaxWidth(),
|
||||||
|
horizontalAlignment = Alignment.CenterHorizontally
|
||||||
|
) {
|
||||||
|
item {
|
||||||
|
Spacer(Modifier.height(20.dp))
|
||||||
|
|
||||||
|
Header(
|
||||||
|
state = HeaderState.Big,
|
||||||
|
title = "Корзина"
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(39.dp))
|
||||||
|
|
||||||
|
Header(
|
||||||
|
state = HeaderState.Small,
|
||||||
|
title = "Корзина"
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(40.dp))
|
||||||
|
|
||||||
|
|
||||||
|
BigButton(
|
||||||
|
state = BigButtonState.Property,
|
||||||
|
text = "Открытить модальное окно",
|
||||||
|
onClick = {
|
||||||
|
modal = !modal
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(40.dp))
|
||||||
|
|
||||||
|
BaseCard(
|
||||||
|
modifier = Modifier.height(138.dp).width(335.dp)
|
||||||
|
) {}
|
||||||
|
|
||||||
|
Spacer(Modifier.height(18.dp))
|
||||||
|
|
||||||
|
PrimaryCard(
|
||||||
|
name = "Рубашка Воскресенье для машинного вязания",
|
||||||
|
category = "Мужская одежда",
|
||||||
|
price = "300",
|
||||||
|
isAdd = true,
|
||||||
|
modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp)
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(18.dp))
|
||||||
|
|
||||||
|
PrimaryCard(
|
||||||
|
name = "Рубашка Воскресенье для машинного вязания",
|
||||||
|
category = "Мужская одежда",
|
||||||
|
price = "300",
|
||||||
|
isAdd = false,
|
||||||
|
modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp)
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(18.dp))
|
||||||
|
|
||||||
|
CartCard(
|
||||||
|
name = "Рубашка воскресенье для машинного вязания",
|
||||||
|
modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp),
|
||||||
|
price = "300",
|
||||||
|
count = "1"
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(18.dp))
|
||||||
|
|
||||||
|
ProjectCard(
|
||||||
|
name = "Мой первый проект",
|
||||||
|
date = "Прошло 2 дня",
|
||||||
|
modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp)
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(40.dp))
|
||||||
|
|
||||||
|
Input(
|
||||||
|
value = inVal,
|
||||||
|
modifier = Modifier.fillMaxWidth().padding(start = 16.dp, end = 26.dp),
|
||||||
|
placeholder = "Введите имя",
|
||||||
|
onValueChange = {
|
||||||
|
inVal = it
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(18.dp))
|
||||||
|
|
||||||
|
Input(
|
||||||
|
value = "Иван",
|
||||||
|
modifier = Modifier.fillMaxWidth().padding(start = 16.dp, end = 26.dp),
|
||||||
|
placeholder = "Иван",
|
||||||
|
onValueChange = {
|
||||||
|
inVal = it
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(18.dp))
|
||||||
|
|
||||||
|
Input(
|
||||||
|
value = inVal,
|
||||||
|
modifier = Modifier.fillMaxWidth(),
|
||||||
|
modifierColumn = Modifier.fillMaxWidth().padding(start = 16.dp, end = 26.dp),
|
||||||
|
topText = "Имя",
|
||||||
|
placeholder = "Введите имя",
|
||||||
|
onValueChange = {
|
||||||
|
inVal = it
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(18.dp))
|
||||||
|
|
||||||
|
Input(
|
||||||
|
value = inVal,
|
||||||
|
modifier = Modifier.fillMaxWidth(),
|
||||||
|
modifierColumn = Modifier.fillMaxWidth().padding(start = 16.dp, end = 26.dp),
|
||||||
|
placeholder = "Иван",
|
||||||
|
errorText = "Введите ваше имя",
|
||||||
|
onValueChange = {
|
||||||
|
inVal = it
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(18.dp))
|
||||||
|
|
||||||
|
Input(
|
||||||
|
value = inVal,
|
||||||
|
modifier = Modifier.fillMaxWidth(),
|
||||||
|
modifierColumn = Modifier.fillMaxWidth().padding(start = 16.dp, end = 26.dp),
|
||||||
|
topText = "Имя",
|
||||||
|
placeholder = "Введите имя",
|
||||||
|
onValueChange = {
|
||||||
|
inVal = it
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(18.dp))
|
||||||
|
|
||||||
|
Input(
|
||||||
|
value = "Введите имя",
|
||||||
|
modifier = Modifier.fillMaxWidth(),
|
||||||
|
modifierColumn = Modifier.fillMaxWidth().padding(start = 16.dp, end = 26.dp),
|
||||||
|
topText = "Имя",
|
||||||
|
placeholder = "Введите имя",
|
||||||
|
onValueChange = {
|
||||||
|
inVal = it
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(18.dp))
|
||||||
|
|
||||||
|
Input(
|
||||||
|
value = passinVal,
|
||||||
|
modifier = Modifier.fillMaxWidth(),
|
||||||
|
modifierColumn = Modifier.fillMaxWidth().padding(start = 16.dp, end = 26.dp),
|
||||||
|
topText = "Имя",
|
||||||
|
placeholder = "Введите имя",
|
||||||
|
pasMode = true,
|
||||||
|
onValueChange = {
|
||||||
|
passinVal = it
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(18.dp))
|
||||||
|
|
||||||
|
Input(
|
||||||
|
value = inVal,
|
||||||
|
modifier = Modifier.fillMaxWidth(),
|
||||||
|
modifierColumn = Modifier.fillMaxWidth().padding(start = 16.dp, end = 26.dp),
|
||||||
|
placeholder = "--.--.----",
|
||||||
|
onValueChange = {
|
||||||
|
inVal = it
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(40.dp))
|
||||||
|
|
||||||
|
Select(
|
||||||
|
value = valSelect,
|
||||||
|
modifier = Modifier.fillMaxWidth()
|
||||||
|
.padding(start = 16.dp, end = 26.dp),
|
||||||
|
placeholder = "Пол",
|
||||||
|
data = listOf(
|
||||||
|
"Мужской",
|
||||||
|
"Женский"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(18.dp))
|
||||||
|
|
||||||
|
Select(
|
||||||
|
value = valSelect1,
|
||||||
|
modifier = Modifier.fillMaxWidth()
|
||||||
|
.padding(start = 16.dp, end = 26.dp),
|
||||||
|
leadingIcon = {
|
||||||
|
Image(
|
||||||
|
painter = painterResource(R.drawable.user_icon),
|
||||||
|
contentDescription = null,
|
||||||
|
modifier = Modifier.size(24.dp)
|
||||||
|
)
|
||||||
|
},
|
||||||
|
data = listOf(
|
||||||
|
"Гарвард Троцкий",
|
||||||
|
"Гарвард Троцкий"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(40.dp))
|
||||||
|
|
||||||
|
SearchInput(
|
||||||
|
value = searchInput.value,
|
||||||
|
onValueChange = {
|
||||||
|
searchInput.value = it
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(40.dp))
|
||||||
|
|
||||||
|
BigButtonState.entries.forEach {
|
||||||
|
BigButton(
|
||||||
|
state = it,
|
||||||
|
text = "Подтвердить",
|
||||||
|
modifier = Modifier.fillMaxWidth()
|
||||||
|
.padding(horizontal = 16.dp, vertical = 16.dp)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
Spacer(Modifier.height(40.dp))
|
||||||
|
|
||||||
|
SmallButton(
|
||||||
|
state = SmallButtonState.Property,
|
||||||
|
text = "Добавить"
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(5.dp))
|
||||||
|
|
||||||
|
SmallButton(
|
||||||
|
state = SmallButtonState.Secondary,
|
||||||
|
text = "Убрать"
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(5.dp))
|
||||||
|
|
||||||
|
SmallButton(
|
||||||
|
state = SmallButtonState.Inactive,
|
||||||
|
text = "Добавить"
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(5.dp))
|
||||||
|
|
||||||
|
SmallButton(
|
||||||
|
state = SmallButtonState.Tetriary,
|
||||||
|
text = "Подтвердить"
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(40.dp))
|
||||||
|
|
||||||
|
ChipButton(
|
||||||
|
state = ChipButtonState.On,
|
||||||
|
text = "Популярные"
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(5.dp))
|
||||||
|
|
||||||
|
ChipButton(
|
||||||
|
state = ChipButtonState.Off,
|
||||||
|
text = "Популярные"
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(40.dp))
|
||||||
|
|
||||||
|
CartButton(
|
||||||
|
price = "500"
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(40.dp))
|
||||||
|
|
||||||
|
LoginState.entries.forEach {
|
||||||
|
LoginButton(
|
||||||
|
state = it
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(5.dp))
|
||||||
|
}
|
||||||
|
|
||||||
|
Spacer(Modifier.height(40.dp))
|
||||||
|
|
||||||
|
TabBar(
|
||||||
|
value = valueTabBar1
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(15.dp))
|
||||||
|
|
||||||
|
TabBar(
|
||||||
|
value = valueTabBar2
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(15.dp))
|
||||||
|
|
||||||
|
TabBar(
|
||||||
|
value = valueTabBar3
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(Modifier.height(15.dp))
|
||||||
|
|
||||||
|
TabBar(
|
||||||
|
value = valueTabBar4
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
app/src/main/res/drawable/user_icon.png
Normal file
BIN
app/src/main/res/drawable/user_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
@ -23,7 +23,7 @@ fun BottomSheet(
|
|||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
onDismissRequest = {},
|
onDismissRequest = {},
|
||||||
containerColor = WhiteColor,
|
containerColor = WhiteColor,
|
||||||
shape = AbsoluteRoundedCornerShape(24.dp),
|
shape = AbsoluteRoundedCornerShape(topLeft = 24.dp, topRight = 24.dp),
|
||||||
dragHandle = null
|
dragHandle = null
|
||||||
) {
|
) {
|
||||||
Column(
|
Column(
|
||||||
|
@ -25,6 +25,7 @@ import androidx.compose.ui.res.painterResource
|
|||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import com.example.libary.theme.AccentColor
|
import com.example.libary.theme.AccentColor
|
||||||
@ -136,7 +137,7 @@ fun SmallButton(
|
|||||||
colors = ButtonDefaults.buttonColors(
|
colors = ButtonDefaults.buttonColors(
|
||||||
containerColor = state.containerColor
|
containerColor = state.containerColor
|
||||||
),
|
),
|
||||||
contentPadding = PaddingValues(0.dp)
|
contentPadding = PaddingValues(horizontal = 13.5.dp, vertical = 0.dp)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = text,
|
text = text,
|
||||||
|
@ -24,7 +24,6 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.draw.shadow
|
import androidx.compose.ui.draw.shadow
|
||||||
import androidx.compose.ui.graphics.Color
|
|
||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
@ -68,7 +67,7 @@ fun PrimaryCard(
|
|||||||
category: String,
|
category: String,
|
||||||
price: String,
|
price: String,
|
||||||
isAdd: Boolean,
|
isAdd: Boolean,
|
||||||
onClick: () -> Unit
|
onClick: () -> Unit = {}
|
||||||
) {
|
) {
|
||||||
BaseCard(
|
BaseCard(
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
|
@ -33,6 +33,7 @@ import com.example.libary.theme.InputStroke
|
|||||||
@Composable
|
@Composable
|
||||||
fun Input(
|
fun Input(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
|
modifierColumn: Modifier = Modifier,
|
||||||
value: String = "",
|
value: String = "",
|
||||||
placeholder: String = "",
|
placeholder: String = "",
|
||||||
topText: String = "",
|
topText: String = "",
|
||||||
@ -42,7 +43,7 @@ fun Input(
|
|||||||
) {
|
) {
|
||||||
var vis by remember { mutableStateOf(false) }
|
var vis by remember { mutableStateOf(false) }
|
||||||
|
|
||||||
Column {
|
Column(modifierColumn) {
|
||||||
if (topText.isNotEmpty()) {
|
if (topText.isNotEmpty()) {
|
||||||
Text(
|
Text(
|
||||||
text = topText,
|
text = topText,
|
||||||
@ -96,7 +97,7 @@ fun Input(
|
|||||||
focusedTextColor = BlackColor,
|
focusedTextColor = BlackColor,
|
||||||
unfocusedTextColor = BlackColor,
|
unfocusedTextColor = BlackColor,
|
||||||
|
|
||||||
focusedIndicatorColor = if (errorText.isNotEmpty()) Error1Color else InputStroke,
|
focusedIndicatorColor = if (errorText.isNotEmpty()) Error1Color else AccentColor,
|
||||||
unfocusedIndicatorColor = if (errorText.isNotEmpty()) Error1Color else InputStroke,
|
unfocusedIndicatorColor = if (errorText.isNotEmpty()) Error1Color else InputStroke,
|
||||||
|
|
||||||
focusedContainerColor = if (errorText.isNotEmpty()) Error1Color.copy(0.1f) else InputBGColor,
|
focusedContainerColor = if (errorText.isNotEmpty()) Error1Color.copy(0.1f) else InputBGColor,
|
||||||
|
@ -32,8 +32,9 @@ fun Select(
|
|||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
value: MutableState<String>,
|
value: MutableState<String>,
|
||||||
data: List<String>,
|
data: List<String>,
|
||||||
placeholder: String = ""
|
placeholder: String = "",
|
||||||
) {
|
leadingIcon: @Composable (() -> Unit)? = null,
|
||||||
|
) {
|
||||||
var modal by remember { mutableStateOf(false) }
|
var modal by remember { mutableStateOf(false) }
|
||||||
|
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
@ -41,6 +42,7 @@ fun Select(
|
|||||||
onValueChange = {},
|
onValueChange = {},
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
shape = AbsoluteRoundedCornerShape(10.dp),
|
shape = AbsoluteRoundedCornerShape(10.dp),
|
||||||
|
leadingIcon = leadingIcon,
|
||||||
placeholder = {
|
placeholder = {
|
||||||
Text(
|
Text(
|
||||||
text = placeholder,
|
text = placeholder,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user