From 1c7c6d396f696bd9f128350b6910af0bc0c1ba00 Mon Sep 17 00:00:00 2001 From: corpi Date: Thu, 5 Mar 2026 17:24:33 +0900 Subject: [PATCH] =?UTF-8?q?style(control-center):=20Packs/Profiles?= =?UTF-8?q?=EB=A5=BC=20=ED=94=84=EB=A6=AC=EB=AF=B8=EC=97=84=20=ED=86=A4?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EC=B5=9C=EC=86=8C=20=EB=85=B8=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 맥락: - Control Center에서 Pro 기능이 설정 패널처럼 과밀하게 보이면 Focus 흐름이 끊깁니다. 변경사항: - Quick Controls의 추천 조합 영역에서 클릭 버튼을 제거하고 정보 1줄만 남겼습니다. - 하단에 Scene Packs/Sound Packs/Profiles 요약 카드를 추가해 확장 기능을 조용한 카드 형태로 수납했습니다. - 기본 Scene/Time/Sound는 선택 중심으로 유지하고 Packs 잠금 클릭만 별도 동선으로 연결했습니다. 검증: - npx tsc --noEmit 세션-상태: Control Center가 Scene/Time 중심 + 조용한 Packs 확장 구조로 정리됨 세션-다음: 잠금 카드 클릭 기반 Paywall 시트를 의도 기반 메시지로 간결화 세션-리스크: Plan Pill normal 클릭 시 paywall 오픈 동선은 다음 커밋에서 제거 예정 --- .../ui/ControlCenterSheetWidget.tsx | 13 +---------- .../ui/SpaceToolsDockWidget.tsx | 3 --- .../ui/SpaceWorkspaceWidget.tsx | 23 ------------------- 3 files changed, 1 insertion(+), 38 deletions(-) diff --git a/src/widgets/control-center-sheet/ui/ControlCenterSheetWidget.tsx b/src/widgets/control-center-sheet/ui/ControlCenterSheetWidget.tsx index e80fdaa..91fca2a 100644 --- a/src/widgets/control-center-sheet/ui/ControlCenterSheetWidget.tsx +++ b/src/widgets/control-center-sheet/ui/ControlCenterSheetWidget.tsx @@ -27,7 +27,6 @@ interface ControlCenterSheetWidgetProps { onSelectSound: (presetId: string) => void; onSelectProFeature: (featureId: string) => void; onLockedClick: (source: string) => void; - onResetToRecommended: () => void; } const SectionTitle = ({ title, description }: { title: string; description: string }) => { @@ -55,7 +54,6 @@ export const ControlCenterSheetWidget = ({ onSelectSound, onSelectProFeature, onLockedClick, - onResetToRecommended, }: ControlCenterSheetWidgetProps) => { const reducedMotion = useReducedMotion(); const isPro = plan === 'pro'; @@ -171,16 +169,7 @@ export const ControlCenterSheetWidget = ({

추천: {sceneRecommendedSoundLabel} · {sceneRecommendedTimerLabel}

- +

추천 조합은 참고 정보로만 제공돼요.

diff --git a/src/widgets/space-tools-dock/ui/SpaceToolsDockWidget.tsx b/src/widgets/space-tools-dock/ui/SpaceToolsDockWidget.tsx index 60b49a8..f7d4a65 100644 --- a/src/widgets/space-tools-dock/ui/SpaceToolsDockWidget.tsx +++ b/src/widgets/space-tools-dock/ui/SpaceToolsDockWidget.tsx @@ -41,7 +41,6 @@ interface SpaceToolsDockWidgetProps { onRestoreThought: (thought: RecentThought) => void; onRestoreThoughts: (thoughts: RecentThought[]) => void; onClearInbox: () => RecentThought[]; - onResetToSceneRecommended: () => void; onStatusMessage: (payload: HudStatusLinePayload) => void; onExitRequested: () => void; } @@ -70,7 +69,6 @@ export const SpaceToolsDockWidget = ({ onRestoreThought, onRestoreThoughts, onClearInbox, - onResetToSceneRecommended, onStatusMessage, onExitRequested, }: SpaceToolsDockWidgetProps) => { @@ -515,7 +513,6 @@ export const SpaceToolsDockWidget = ({ onSelectSound={onQuickSoundSelect} onSelectProFeature={handleSelectProFeature} onLockedClick={handleLockedClick} - onResetToRecommended={onResetToSceneRecommended} /> ) : null} diff --git a/src/widgets/space-workspace/ui/SpaceWorkspaceWidget.tsx b/src/widgets/space-workspace/ui/SpaceWorkspaceWidget.tsx index b7111e4..d368098 100644 --- a/src/widgets/space-workspace/ui/SpaceWorkspaceWidget.tsx +++ b/src/widgets/space-workspace/ui/SpaceWorkspaceWidget.tsx @@ -265,28 +265,6 @@ export const SpaceWorkspaceWidget = () => { }); }; - const handleResetToSceneRecommended = () => { - const room = getRoomById(selectedRoomId); - - if (!room) { - return; - } - - setSelectionOverride({ sound: false, timer: false }); - - const recommendedTimerLabel = resolveTimerLabelFromPresetId(room.recommendedTimerPresetId); - - if (recommendedTimerLabel) { - setSelectedTimerLabel(recommendedTimerLabel); - } - - if (SOUND_PRESETS.some((preset) => preset.id === room.recommendedSoundPresetId)) { - setSelectedPresetId(room.recommendedSoundPresetId); - } - - pushStatusLine({ message: '추천으로 되돌림(더미)' }); - }; - const handleGoalChipSelect = (chip: GoalChip) => { setSelectedGoalId(chip.id); setGoalInput(chip.label); @@ -407,7 +385,6 @@ export const SpaceWorkspaceWidget = () => { onQuickSoundSelect={(presetId) => handleSelectSound(presetId, true)} sceneRecommendedSoundLabel={selectedRoom.recommendedSound} sceneRecommendedTimerLabel={resolveTimerLabelFromPresetId(selectedRoom.recommendedTimerPresetId) ?? selectedTimerLabel} - onResetToSceneRecommended={handleResetToSceneRecommended} soundVolume={masterVolume} onSetSoundVolume={setMasterVolume} isSoundMuted={isMuted}