From 11795d1cef6d0daf12075ad2f71610bcdfdf103e Mon Sep 17 00:00:00 2001 From: jjangddu Date: Mon, 29 Jun 2026 12:02:39 +0900 Subject: [PATCH] =?UTF-8?q?revert(alignment):=20Skip=20=EC=9A=B0=EC=83=81?= =?UTF-8?q?=EB=8B=A8(top=20bar)=20=EB=A7=8C=20=EC=9C=A0=EC=A7=80=20?= =?UTF-8?q?=E2=80=94=20=ED=95=98=EB=8B=A8=20Skip=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 이전 commit (9a6a81c) 의 BottomCenter floating Skip 롤백. Skip 진입점은 top bar 우측 TextButton 하나만 (단일 위치). Co-Authored-By: Claude Opus 4.7 --- .../ui/views/monitoring/PlacementGuideView.kt | 45 ++++++++----------- 1 file changed, 19 insertions(+), 26 deletions(-) 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 3991036..5d966c7 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 @@ -276,6 +276,25 @@ fun PlacementGuideView(appState: AppState) { Icon(Icons.Filled.CheckCircle, stringResource(R.string.placement_ready_desc), tint = Color(0xFF4CAF50), modifier = Modifier.size(24.dp)) Spacer(modifier = Modifier.width(4.dp)) } + // Skip — top bar 우측 (유일한 Skip 진입점) + 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) { IconButton(onClick = { showPlacementSettings = !showPlacementSettings }) { Icon(Icons.Default.Settings, stringResource(R.string.piezo_settings_desc), tint = if (showPlacementSettings) MlPrimary else MlSecondaryText) @@ -1250,35 +1269,9 @@ fun PlacementGuideView(appState: AppState) { ) } - // 하단 작은 padding (Skip 이 화면 밖 — 아래 Box.BottomCenter 로 분리되어 항상 노출). Spacer(modifier = Modifier.height(16.dp)) } // end scrollable Column - // Skip button — scrollable Column 밖, Box.BottomCenter 에 고정 → V2 등 콘텐츠가 길어도 항상 노출. - 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() - } - }, - modifier = Modifier - .align(Alignment.BottomCenter) - .padding(bottom = 4.dp) - ) { - Text( - text = stringResource(R.string.placement_skip), - fontSize = 16.sp, - fontWeight = FontWeight.SemiBold, - color = MlSecondaryText - ) - } - // Floating settings overlay (개발자 모드) if (appState.isDevMode && showPlacementSettings) { Box(