fix: 컴파일 에러 수정
This commit is contained in:
@@ -16,8 +16,8 @@ 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.scale
|
import androidx.compose.ui.draw.scale
|
||||||
|
import androidx.compose.ui.graphics.Brush
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.graphics.Shape
|
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
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
|
||||||
@@ -278,21 +278,6 @@ fun DealItem(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Brush import를 위해 추가
|
|
||||||
private fun Modifier.background(brush: Brush, shape: Shape): Modifier {
|
|
||||||
return this.then(
|
|
||||||
androidx.compose.ui.draw.drawBehind {
|
|
||||||
drawRect(brush)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
private object Brush {
|
|
||||||
fun horizontalGradient(colors: List<Color>): androidx.compose.ui.graphics.Brush {
|
|
||||||
return androidx.compose.ui.graphics.Brush.horizontalGradient(colors)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun formatTime(timestamp: Long): String {
|
private fun formatTime(timestamp: Long): String {
|
||||||
val now = System.currentTimeMillis()
|
val now = System.currentTimeMillis()
|
||||||
val diff = now - timestamp
|
val diff = now - timestamp
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import androidx.compose.material3.*
|
|||||||
import androidx.compose.runtime.*
|
import androidx.compose.runtime.*
|
||||||
import androidx.compose.ui.Alignment
|
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.scale
|
import androidx.compose.ui.draw.scale
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
@@ -30,7 +29,6 @@ import com.hotdeal.alarm.domain.model.SiteType
|
|||||||
import com.hotdeal.alarm.presentation.components.*
|
import com.hotdeal.alarm.presentation.components.*
|
||||||
import com.hotdeal.alarm.presentation.main.MainUiState
|
import com.hotdeal.alarm.presentation.main.MainUiState
|
||||||
import com.hotdeal.alarm.presentation.main.MainViewModel
|
import com.hotdeal.alarm.presentation.main.MainViewModel
|
||||||
import com.hotdeal.alarm.ui.theme.Spacing
|
|
||||||
import com.hotdeal.alarm.ui.theme.getSiteColor
|
import com.hotdeal.alarm.ui.theme.getSiteColor
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@@ -47,19 +45,13 @@ fun DealListScreen(
|
|||||||
var showFilterMenu by remember { mutableStateOf(false) }
|
var showFilterMenu by remember { mutableStateOf(false) }
|
||||||
|
|
||||||
Column(modifier = Modifier.fillMaxSize()) {
|
Column(modifier = Modifier.fillMaxSize()) {
|
||||||
// 개선된 TopAppBar
|
|
||||||
TopAppBar(
|
TopAppBar(
|
||||||
title = {
|
title = {
|
||||||
Row(
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
verticalAlignment = Alignment.CenterVertically
|
|
||||||
) {
|
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.size(36.dp)
|
.size(36.dp)
|
||||||
.background(
|
.background(MaterialTheme.colorScheme.primary, CircleShape),
|
||||||
MaterialTheme.colorScheme.primary,
|
|
||||||
CircleShape
|
|
||||||
),
|
|
||||||
contentAlignment = Alignment.Center
|
contentAlignment = Alignment.Center
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
@@ -113,15 +105,10 @@ fun DealListScreen(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
// 사이트 필터 칩들 - 개선된 디자인
|
|
||||||
AnimatedVisibility(
|
AnimatedVisibility(
|
||||||
visible = showFilterMenu,
|
visible = showFilterMenu,
|
||||||
enter = expandVertically(
|
enter = expandVertically(animationSpec = spring(stiffness = Spring.StiffnessLow)) + fadeIn(),
|
||||||
animationSpec = spring(stiffness = Spring.StiffnessLow)
|
exit = shrinkVertically(animationSpec = spring(stiffness = Spring.StiffnessLow)) + fadeOut()
|
||||||
) + fadeIn(),
|
|
||||||
exit = shrinkVertically(
|
|
||||||
animationSpec = spring(stiffness = Spring.StiffnessLow)
|
|
||||||
) + fadeOut()
|
|
||||||
) {
|
) {
|
||||||
Card(
|
Card(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
@@ -132,12 +119,8 @@ fun DealListScreen(
|
|||||||
containerColor = MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.5f)
|
containerColor = MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.5f)
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
Column(
|
Column(modifier = Modifier.padding(16.dp)) {
|
||||||
modifier = Modifier.padding(16.dp)
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
) {
|
|
||||||
Row(
|
|
||||||
verticalAlignment = Alignment.CenterVertically
|
|
||||||
) {
|
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = Icons.Outlined.FilterAlt,
|
imageVector = Icons.Outlined.FilterAlt,
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
@@ -183,7 +166,6 @@ fun DealListScreen(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 검색창 - 개선된 디자인
|
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = searchText,
|
value = searchText,
|
||||||
onValueChange = { searchText = it },
|
onValueChange = { searchText = it },
|
||||||
@@ -278,11 +260,12 @@ fun DealListScreen(
|
|||||||
color = MaterialTheme.colorScheme.onSurfaceVariant
|
color = MaterialTheme.colorScheme.onSurfaceVariant
|
||||||
)
|
)
|
||||||
if (selectedSiteFilter != null) {
|
if (selectedSiteFilter != null) {
|
||||||
|
val filter = selectedSiteFilter!!
|
||||||
Spacer(modifier = Modifier.width(8.dp))
|
Spacer(modifier = Modifier.width(8.dp))
|
||||||
Text(
|
Text(
|
||||||
text = "• ${selectedSiteFilter.displayName}",
|
text = "• ${filter.displayName}",
|
||||||
style = MaterialTheme.typography.labelMedium,
|
style = MaterialTheme.typography.labelMedium,
|
||||||
color = getSiteColor(selectedSiteFilter)
|
color = getSiteColor(filter)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -473,12 +473,12 @@ private fun PollingIntervalCard(
|
|||||||
|
|
||||||
// 선택 옵션들
|
// 선택 옵션들
|
||||||
val options = listOf(
|
val options = listOf(
|
||||||
1 to "1분" to "빠름",
|
Triple(1, "1분", "빠름"),
|
||||||
2 to "2분" to "권장",
|
Triple(2, "2분", "권장"),
|
||||||
5 to "5분" to "보통",
|
Triple(5, "5분", "보통"),
|
||||||
10 to "10분" to "느림",
|
Triple(10, "10분", "느림"),
|
||||||
15 to "15분" to "매우 느림",
|
Triple(15, "15분", "매우 느림"),
|
||||||
30 to "30분" to "절전"
|
Triple(30, "30분", "절전")
|
||||||
)
|
)
|
||||||
|
|
||||||
options.chunked(3).forEach { rowOptions ->
|
options.chunked(3).forEach { rowOptions ->
|
||||||
|
|||||||
Reference in New Issue
Block a user