//// src/main/kotlin/ui/ActiveTradeRow.kt //package ui // //import AutoTradeItem //import androidx.compose.foundation.background //import androidx.compose.foundation.clickable //import androidx.compose.foundation.layout.* //import androidx.compose.foundation.shape.RoundedCornerShape //import androidx.compose.material.* //import androidx.compose.runtime.Composable //import androidx.compose.ui.Alignment //import androidx.compose.ui.Modifier //import androidx.compose.ui.graphics.Color //import androidx.compose.ui.text.font.FontWeight //import androidx.compose.ui.unit.dp //import androidx.compose.ui.unit.sp // //@Composable //fun ActiveTradeRow( // item: AutoTradeItem, // UI 모델 대신 통합 데이터 모델 사용 // onCancelClick: () -> Unit, // 미체결 취소 시 주문번호(orderNo) 전달 // onClick: () -> Unit //) { // // 상태에 따른 UI 구성 요소 정의 // val (statusText, statusColor, backgroundColor) = when (item.status) { // "PENDING_BUY" -> Triple("매수중", Color(0xFFFBC02D), Color(0xFFFFF9C4)) // 노랑 // "MONITORING" -> Triple("감시중", Color(0xFF0E62CF), Color.White) // 파랑 // "SELLING" -> Triple("매도중", Color(0xFFE03E2D), Color(0xFFFFF4F4)) // 빨강 // "COMPLETED" -> Triple("완료", Color.Gray, Color(0xFFF5F5F5)) // 회색 // else -> Triple("알 수 없음", Color.Black, Color.White) // } // // Card( // modifier = Modifier // .fillMaxWidth() // .padding(vertical = 4.dp, horizontal = 2.dp) // .clickable { onClick() }, // elevation = 2.dp, // shape = RoundedCornerShape(4.dp), // backgroundColor = backgroundColor // ) { // Row( // modifier = Modifier.padding(12.dp), // verticalAlignment = Alignment.CenterVertically // ) { // // 좌측 정보 영역 // Column(modifier = Modifier.weight(1f)) { // Row(verticalAlignment = Alignment.CenterVertically) { // // 상태 배지 표시 // Surface( // color = statusColor, // shape = RoundedCornerShape(2.dp), // modifier = Modifier.padding(end = 6.dp) // ) { // Text( // text = statusText, // color = Color.White, // fontSize = 9.sp, // modifier = Modifier.padding(horizontal = 4.dp, vertical = 2.dp), // fontWeight = FontWeight.Bold // ) // } // Text( // text = item.name, // style = MaterialTheme.typography.body2, // fontWeight = FontWeight.Bold, // maxLines = 1 // ) // } // // // 상세 가격 정보 (상태에 따라 비율 또는 목표가 표시) // val detailText = when (item.status) { // "PENDING_BUY" -> "설정 비율: 익절 ${item.profitRate}% / 손절 ${item.stopLossRate}%" // "MONITORING" -> "목표가: ${String.format("%,.0f", item.targetPrice)} / 손절가: ${String.format("%,.0f", item.stopLossPrice)}" // else -> "주문번호: ${item.orderNo} ${item.orderedPrice} ${item.quantity}" // } // // Text( // text = "${item.code} | $detailText", // fontSize = 11.sp, // color = Color.Gray // ) // } // // // 우측 액션 및 수량 영역 // Column(horizontalAlignment = Alignment.End) { // if (item.status == "PENDING_BUY" || item.status == "SELLING") { // // 진행 중인 주문인 경우 취소 버튼 노출 // Button( // onClick = { onCancelClick() }, // contentPadding = PaddingValues(horizontal = 8.dp), // modifier = Modifier.height(28.dp), // colors = ButtonDefaults.buttonColors(backgroundColor = Color.LightGray) // ) { // Text("취소", fontSize = 11.sp) // } // } else { // Button( // onClick = { onCancelClick() }, // contentPadding = PaddingValues(horizontal = 8.dp), // modifier = Modifier.height(28.dp), // colors = ButtonDefaults.buttonColors(backgroundColor = Color.LightGray) // ) { // Text("취소", fontSize = 11.sp) // } // } // // Text( // text = "${item.quantity}주", // fontSize = 12.sp, // fontWeight = FontWeight.Bold, // color = statusColor // ) // } // } // } //}