'use client';
import { useState } from 'react';
import type { SceneTheme } from '@/entities/scene';
import type { TimerPreset } from '@/entities/session';
import { DEFAULT_PRESET_OPTIONS } from '@/shared/config/settingsOptions';
import { cn } from '@/shared/lib/cn';
interface SettingsToolPanelProps {
scenes: SceneTheme[];
selectedSceneId: string;
selectedTimerLabel: string;
timerPresets: TimerPreset[];
onSelectScene: (sceneId: string) => void;
onSelectTimer: (timerLabel: string) => void;
}
export const SettingsToolPanel = ({
scenes,
selectedSceneId,
selectedTimerLabel,
timerPresets,
onSelectScene,
onSelectTimer,
}: SettingsToolPanelProps) => {
const [reduceMotion, setReduceMotion] = useState(false);
const [defaultPresetId, setDefaultPresetId] = useState<
(typeof DEFAULT_PRESET_OPTIONS)[number]['id']
>(DEFAULT_PRESET_OPTIONS[0].id);
return (
Reduce Motion
화면 전환을 조금 더 차분하게 표시합니다.
배경
몰입 중에도 배경 scene을 바꿀 수 있어요.
{scenes.slice(0, 4).map((scene) => {
const selected = scene.id === selectedSceneId;
return (
);
})}
타이머 프리셋
기본 프리셋만 빠르게 고를 수 있어요.
{timerPresets.slice(0, 3).map((preset) => {
const selected = preset.label === selectedTimerLabel;
return (
);
})}
기본 프리셋
{DEFAULT_PRESET_OPTIONS.map((preset) => (
))}
);
};