feat(sound): Sound Quick 변경 시 override 적용 경로를 명시화
맥락: - 사운드 override는 우하단 Quick 변경에서 시작되는 규칙이 핵심이라, 코드 경로를 분명히 분리할 필요가 있었습니다. 변경사항: - SpaceToolsDockWidget의 사운드 선택 콜백을 onQuickSoundSelect로 분리해 Quick 전환 경로를 명시했습니다. - workspace에서 우하단 Quick 선택 콜백을 override.sound 활성화 핸들러에 직접 연결했습니다. 검증: - npx tsc --noEmit 세션-상태: 우하단 Sound Quick 선택이 override.sound 규칙과 1:1로 연결됩니다. 세션-다음: (선택) Scene/Timer/Sound 및 override 상태를 로컬에 저장/복원합니다. 세션-리스크: Setup에서의 수동 사운드 선택도 override를 켜므로 UX 기대치 점검이 필요할 수 있습니다.
This commit is contained in:
@@ -35,7 +35,7 @@ interface SpaceToolsDockWidgetProps {
|
||||
sceneRecommendedTimerLabel: string;
|
||||
onRoomSelect: (roomId: string) => void;
|
||||
onTimerSelect: (timerLabel: string) => void;
|
||||
onSelectPreset: (presetId: string) => void;
|
||||
onQuickSoundSelect: (presetId: string) => void;
|
||||
onCaptureThought: (note: string) => RecentThought | null;
|
||||
onDeleteThought: (thoughtId: string) => RecentThought | null;
|
||||
onSetThoughtCompleted: (thoughtId: string, isCompleted: boolean) => RecentThought | null;
|
||||
@@ -63,7 +63,7 @@ export const SpaceToolsDockWidget = ({
|
||||
sceneRecommendedTimerLabel,
|
||||
onRoomSelect,
|
||||
onTimerSelect,
|
||||
onSelectPreset,
|
||||
onQuickSoundSelect,
|
||||
onCaptureThought,
|
||||
onDeleteThought,
|
||||
onSetThoughtCompleted,
|
||||
@@ -382,7 +382,7 @@ export const SpaceToolsDockWidget = ({
|
||||
onVolumeChange={handleVolumeChange}
|
||||
onVolumeKeyDown={handleVolumeKeyDown}
|
||||
onSelectPreset={(presetId) => {
|
||||
onSelectPreset(presetId);
|
||||
onQuickSoundSelect(presetId);
|
||||
setOpenPopover(null);
|
||||
}}
|
||||
/>
|
||||
|
||||
@@ -314,7 +314,7 @@ export const SpaceWorkspaceWidget = () => {
|
||||
selectedPresetId={selectedPresetId}
|
||||
onRoomSelect={handleSelectRoom}
|
||||
onTimerSelect={(timerLabel) => handleSelectTimer(timerLabel, true)}
|
||||
onSelectPreset={(presetId) => handleSelectSound(presetId, true)}
|
||||
onQuickSoundSelect={(presetId) => handleSelectSound(presetId, true)}
|
||||
sceneRecommendedSoundLabel={selectedRoom.recommendedSound}
|
||||
sceneRecommendedTimerLabel={resolveTimerLabelFromPresetId(selectedRoom.recommendedTimerPresetId) ?? selectedTimerLabel}
|
||||
onResetToSceneRecommended={handleResetToSceneRecommended}
|
||||
|
||||
Reference in New Issue
Block a user