From e7076ed2a038acbdcd75eb5228366457ba7a9800 Mon Sep 17 00:00:00 2001 From: jjangddu Date: Mon, 8 Jun 2026 17:52:43 +0900 Subject: [PATCH] =?UTF-8?q?UI:=20=ED=9A=8C=EC=9D=98=20=ED=94=BC=EB=93=9C?= =?UTF-8?q?=EB=B0=B1=20=EB=AC=B6=EC=9D=8C=201=20=E2=80=94=20Placement=20?= =?UTF-8?q?=EA=B0=80=EB=8F=85=EC=84=B1=20+=20Voiding=20=ED=91=9C=ED=98=84/?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=20+=20catheter=20=EA=B0=84=EA=B2=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 회의 피드백 5건: #6 PlacementGuide(Sensor Alignment) 글자 가독성 - Step 1/3 indicator: 14sp MlPrimary → 22sp 검정 - "Sensor Alignment" 타이틀: 28sp Bold → 36sp ExtraBold (이미 검정) - 노란/초록 hint 박스 글자: 20sp hintFg(노랑/초록) → 26sp Bold 검정 (박스 배경 색은 의미 유지 — 노랑=조정 필요, 초록=Green zone) #7 Start Alignment 버튼 텍스트: White → Black #8 도넛차트 Voiding 버튼: "Voiding" → "Voiding / Catheterization" (12sp · TextAlign.Center · maxLines=2로 줄바꿈 허용) #9 도넛차트 mL 표시: Voiding 직후 displayMaxVolumeMl=0 + estimatedVolume=0 상태에서 "0 mL" 대신 "— mL" 표시 — 측정값이 없음을 명확히 #10 catheter "left" 간격: 2dp → 6dp (숫자와 텍스트 사이 여유) Co-Authored-By: Claude Opus 4.7 (1M context) --- .../ui/views/monitoring/PiezoMonitoringView.kt | 13 +++++++++---- .../ui/views/monitoring/PlacementGuideView.kt | 18 ++++++++---------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt index 6a0c528..3eb1646 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt @@ -35,6 +35,7 @@ import androidx.compose.ui.graphics.Path import androidx.compose.ui.graphics.PathEffect import androidx.compose.ui.graphics.drawscope.Stroke import androidx.compose.ui.platform.LocalConfiguration +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight @@ -903,7 +904,7 @@ fun PiezoMonitoringView(appState: AppState) { Icon(Icons.Default.LocalHospital, "Catheter", tint = MlPrimary, modifier = Modifier.size(16.dp)) Spacer(modifier = Modifier.width(4.dp)) Text("$cathCount", fontSize = (13 * fontScale).sp, fontWeight = FontWeight.Bold, color = MlPrimary) - Spacer(modifier = Modifier.width(2.dp)) + Spacer(modifier = Modifier.width(6.dp)) Text("left", fontSize = (10 * fontScale).sp, fontWeight = FontWeight.SemiBold, color = MlPrimary.copy(alpha = 0.7f)) } @@ -1078,7 +1079,10 @@ fun PiezoMonitoringView(appState: AppState) { } Spacer(modifier = Modifier.height(4.dp)) Text( - if (displayMaxVolumeMl > 0) "${"%.0f".format(displayMaxVolumeMl)} mL" else "${appState.estimatedVolume} mL", + // Voiding 직후엔 displayMaxVolumeMl=0이고 estimatedVolume도 0 → "0 mL"가 의미 없음 → "— mL"로 + if (displayMaxVolumeMl > 0) "${"%.0f".format(displayMaxVolumeMl)} mL" + else if (appState.estimatedVolume > 0) "${appState.estimatedVolume} mL" + else "— mL", fontSize = volFontSize, fontWeight = if (useScrollLayout) FontWeight.Bold else FontWeight.ExtraBold, color = urgency.accentColor, @@ -1137,8 +1141,9 @@ fun PiezoMonitoringView(appState: AppState) { disabledContainerColor = Color.Gray.copy(alpha = 0.3f) ) ) { - Text("Voiding", fontSize = (14 * fontScale).sp, - fontWeight = FontWeight.SemiBold, color = Color.White) + Text("Voiding / Catheterization", fontSize = (12 * fontScale).sp, + fontWeight = FontWeight.SemiBold, color = Color.White, + textAlign = TextAlign.Center, maxLines = 2) } // Auto (Spot 진행 중 봉인) diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt index af0d8d9..4598e6c 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt @@ -213,7 +213,7 @@ fun PlacementGuideView(appState: AppState) { } Text( text = "Step ${currentStepIdx + 1}/3", - fontSize = 14.sp, fontWeight = FontWeight.Bold, color = MlPrimary + fontSize = 22.sp, fontWeight = FontWeight.Bold, color = Color.Black ) // 3-dot indicator: 완료(○ → ●), 현재(큰 ●), 미완료(○) Row(horizontalArrangement = Arrangement.spacedBy(6.dp), @@ -272,8 +272,8 @@ fun PlacementGuideView(appState: AppState) { // 타이틀 — 28sp Bold (Hint와의 강조 균형. 이전 38sp ExtraBold는 화면을 압도) Text( text = "Sensor Alignment", - fontSize = 28.sp, - fontWeight = FontWeight.Bold, + fontSize = 36.sp, + fontWeight = FontWeight.ExtraBold, color = Color.Black, textAlign = TextAlign.Center, modifier = Modifier.fillMaxWidth().padding(vertical = 4.dp) @@ -308,14 +308,12 @@ fun PlacementGuideView(appState: AppState) { append(rawHint) } } - // Hint 톤다운 — 28sp+큰 박스+빨강 강조 3중 중첩이었음. - // 폰트 28→20sp, padding 18→12dp, 박스 alpha 살짝 ↓. - // "pubic bone" 빨강 강조는 유지 (의도된 1점 강조). + // 회의 피드백: hint 글자는 검정으로 통일 + 키우기. 박스 배경 색은 의미 유지(노랑=조정 필요/초록=Green). Text( text = displayHint, - fontSize = 20.sp, - fontWeight = FontWeight.SemiBold, - color = hintFg, + fontSize = 26.sp, + fontWeight = FontWeight.Bold, + color = Color.Black, textAlign = TextAlign.Center, modifier = Modifier .fillMaxWidth() @@ -924,7 +922,7 @@ fun PlacementGuideView(appState: AppState) { shape = RoundedCornerShape(18.dp), colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFFF9800)) ) { - Text("Start Alignment", fontSize = 28.sp, fontWeight = FontWeight.Bold, color = Color.White) + Text("Start Alignment", fontSize = 28.sp, fontWeight = FontWeight.Bold, color = Color.Black) } }