revert(alignment): Skip 우상단(top bar) 만 유지 — 하단 Skip 제거

이전 commit (9a6a81c) 의 BottomCenter floating Skip 롤백.
Skip 진입점은 top bar 우측 TextButton 하나만 (단일 위치).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-29 12:02:39 +09:00
parent 9a6a81c9f4
commit 11795d1cef
@@ -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)) 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 우측 (유일한 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) { 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)
@@ -1250,35 +1269,9 @@ fun PlacementGuideView(appState: AppState) {
) )
} }
// 하단 작은 padding (Skip 이 화면 밖 — 아래 Box.BottomCenter 로 분리되어 항상 노출).
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
} // end scrollable Column } // 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 (개발자 모드) // Floating settings overlay (개발자 모드)
if (appState.isDevMode && showPlacementSettings) { if (appState.isDevMode && showPlacementSettings) {
Box( Box(