fix(demo): 정렬모드 Skip top bar 우측 노출 + 개인화 페이지 한글화
1. PlacementGuide top bar 에 Skip TextButton 추가 - 기존: scrollable Column 맨 아래 → 스크롤 안에 묻혀 안 보이던 문제 - 변경: top bar 우측 (Back / Ready / Skip / [dev] Settings 순) 항상 가시 - 동작: clinical alignment → endMeasurement + CLINICAL_HOME / 일반 → placementComplete 2. PiezoPersonalizationView (개인화 페이지) 한글화 - 'Maximum Bladder Capacity' → '최대 방광 용량' - 'Voiding Reminder' → '배뇨 알림 기준' - 'Auto Scan Interval' → '자동 측정 주기' (기존 key 재사용) - 'Continue' → '계속' (기존 calibration_continue 재사용) - 'Back' (contentDescription) → '뒤로' Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+20
@@ -274,6 +274,26 @@ fun PlacementGuideView(appState: AppState) {
|
|||||||
Icon(Icons.Filled.CheckCircle, stringResource(R.string.placement_ready_desc), tint = Color(0xFF4CAF50), modifier = Modifier.size(24.dp))
|
Icon(Icons.Filled.CheckCircle, stringResource(R.string.placement_ready_desc), tint = Color(0xFF4CAF50), modifier = Modifier.size(24.dp))
|
||||||
Spacer(modifier = Modifier.width(4.dp))
|
Spacer(modifier = Modifier.width(4.dp))
|
||||||
}
|
}
|
||||||
|
// Skip — 항상 top bar 우측에 노출 (스크롤 안에 묻혀 안 보이던 문제 fix).
|
||||||
|
// clinical alignment: endMeasurement 저장 후 Clinical Home / 일반: placementComplete.
|
||||||
|
TextButton(onClick = {
|
||||||
|
isContinuousMode = false
|
||||||
|
val curSess = com.example.medilightv2android.services.ClinicalSessionStore.currentSession
|
||||||
|
if (curSess != null && curSess.mode == com.example.medilightv2android.models.SessionMode.ALIGNMENT) {
|
||||||
|
com.example.medilightv2android.services.ClinicalSessionStore.endMeasurement(context)
|
||||||
|
com.example.medilightv2android.services.ClinicalSessionStore.inClinicalFlow = true
|
||||||
|
appState.currentScreen = AppScreen.CLINICAL_HOME
|
||||||
|
} else {
|
||||||
|
appState.placementComplete()
|
||||||
|
}
|
||||||
|
}) {
|
||||||
|
Text(
|
||||||
|
text = stringResource(R.string.placement_skip),
|
||||||
|
fontSize = 16.sp,
|
||||||
|
fontWeight = FontWeight.SemiBold,
|
||||||
|
color = MlSecondaryText
|
||||||
|
)
|
||||||
|
}
|
||||||
if (appState.isDevMode) {
|
if (appState.isDevMode) {
|
||||||
IconButton(onClick = { showPlacementSettings = !showPlacementSettings }) {
|
IconButton(onClick = { showPlacementSettings = !showPlacementSettings }) {
|
||||||
Icon(Icons.Default.Settings, stringResource(R.string.piezo_settings_desc), tint = if (showPlacementSettings) MlPrimary else MlSecondaryText)
|
Icon(Icons.Default.Settings, stringResource(R.string.piezo_settings_desc), tint = if (showPlacementSettings) MlPrimary else MlSecondaryText)
|
||||||
|
|||||||
+5
-5
@@ -55,7 +55,7 @@ fun PiezoPersonalizationView(appState: AppState) {
|
|||||||
verticalAlignment = Alignment.CenterVertically
|
verticalAlignment = Alignment.CenterVertically
|
||||||
) {
|
) {
|
||||||
IconButton(onClick = { appState.backToSensorSelect() }) {
|
IconButton(onClick = { appState.backToSensorSelect() }) {
|
||||||
Icon(Icons.AutoMirrored.Filled.ArrowBack, "Back", tint = MlPrimary)
|
Icon(Icons.AutoMirrored.Filled.ArrowBack, stringResource(R.string.personalization_back_desc), tint = MlPrimary)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,7 +104,7 @@ fun PiezoPersonalizationView(appState: AppState) {
|
|||||||
),
|
),
|
||||||
contentAlignment = Alignment.Center
|
contentAlignment = Alignment.Center
|
||||||
) {
|
) {
|
||||||
Text("Continue", fontSize = 18.sp, fontWeight = FontWeight.SemiBold, color = Color.White)
|
Text(stringResource(R.string.calibration_continue), fontSize = 18.sp, fontWeight = FontWeight.SemiBold, color = Color.White)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -121,7 +121,7 @@ private fun MaxVolumeCard(appState: AppState) {
|
|||||||
modifier = Modifier.padding(horizontal = 20.dp, vertical = 18.dp),
|
modifier = Modifier.padding(horizontal = 20.dp, vertical = 18.dp),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally
|
horizontalAlignment = Alignment.CenterHorizontally
|
||||||
) {
|
) {
|
||||||
Text("Maximum Bladder Capacity", fontSize = 28.sp, fontWeight = FontWeight.ExtraBold)
|
Text(stringResource(R.string.personalization_max_capacity), fontSize = 28.sp, fontWeight = FontWeight.ExtraBold)
|
||||||
Spacer(modifier = Modifier.height(8.dp))
|
Spacer(modifier = Modifier.height(8.dp))
|
||||||
Row(verticalAlignment = Alignment.Bottom) {
|
Row(verticalAlignment = Alignment.Bottom) {
|
||||||
Text("${appState.piezoSettings.maxVolume}", fontSize = 48.sp,
|
Text("${appState.piezoSettings.maxVolume}", fontSize = 48.sp,
|
||||||
@@ -173,7 +173,7 @@ private fun CatheterThresholdCard(appState: AppState) {
|
|||||||
modifier = Modifier.padding(horizontal = 20.dp, vertical = 18.dp),
|
modifier = Modifier.padding(horizontal = 20.dp, vertical = 18.dp),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally
|
horizontalAlignment = Alignment.CenterHorizontally
|
||||||
) {
|
) {
|
||||||
Text("Voiding Reminder", fontSize = 28.sp, fontWeight = FontWeight.ExtraBold)
|
Text(stringResource(R.string.personalization_voiding_reminder_title), fontSize = 28.sp, fontWeight = FontWeight.ExtraBold)
|
||||||
Text(stringResource(R.string.voiding_reminder_threshold_desc),
|
Text(stringResource(R.string.voiding_reminder_threshold_desc),
|
||||||
fontSize = 12.sp, color = MlSecondaryText,
|
fontSize = 12.sp, color = MlSecondaryText,
|
||||||
modifier = Modifier.padding(top = 2.dp))
|
modifier = Modifier.padding(top = 2.dp))
|
||||||
@@ -236,7 +236,7 @@ private fun AutoScanIntervalCard(appState: AppState) {
|
|||||||
modifier = Modifier.padding(horizontal = 20.dp, vertical = 18.dp),
|
modifier = Modifier.padding(horizontal = 20.dp, vertical = 18.dp),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally
|
horizontalAlignment = Alignment.CenterHorizontally
|
||||||
) {
|
) {
|
||||||
Text("Auto Scan Interval", fontSize = 28.sp, fontWeight = FontWeight.ExtraBold)
|
Text(stringResource(R.string.piezo_settings_auto_scan_interval), fontSize = 28.sp, fontWeight = FontWeight.ExtraBold)
|
||||||
|
|
||||||
Spacer(modifier = Modifier.height(12.dp))
|
Spacer(modifier = Modifier.height(12.dp))
|
||||||
|
|
||||||
|
|||||||
@@ -362,4 +362,9 @@
|
|||||||
<string name="piezo_settings_firmware">펌웨어</string>
|
<string name="piezo_settings_firmware">펌웨어</string>
|
||||||
<string name="piezo_logs_charts">기록 및 그래프</string>
|
<string name="piezo_logs_charts">기록 및 그래프</string>
|
||||||
<string name="piezo_developer_tools">개발자 도구</string>
|
<string name="piezo_developer_tools">개발자 도구</string>
|
||||||
|
|
||||||
|
<!-- Personalization (additional) -->
|
||||||
|
<string name="personalization_back_desc">뒤로</string>
|
||||||
|
<string name="personalization_max_capacity">최대 방광 용량</string>
|
||||||
|
<string name="personalization_voiding_reminder_title">배뇨 알림 기준</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -362,4 +362,9 @@
|
|||||||
<string name="piezo_settings_firmware">Firmware</string>
|
<string name="piezo_settings_firmware">Firmware</string>
|
||||||
<string name="piezo_logs_charts">Logs & Charts</string>
|
<string name="piezo_logs_charts">Logs & Charts</string>
|
||||||
<string name="piezo_developer_tools">Developer Tools</string>
|
<string name="piezo_developer_tools">Developer Tools</string>
|
||||||
|
|
||||||
|
<!-- Personalization (additional) -->
|
||||||
|
<string name="personalization_back_desc">Back</string>
|
||||||
|
<string name="personalization_max_capacity">Maximum Bladder Capacity</string>
|
||||||
|
<string name="personalization_voiding_reminder_title">Voiding Reminder</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
Reference in New Issue
Block a user