feat(music): Create 탭 트랙 제목 직접 입력 추가

This commit is contained in:
2026-05-01 15:49:56 +09:00
parent 8a7b5e8a38
commit 4281c1873f
2 changed files with 38 additions and 1 deletions

View File

@@ -536,6 +536,7 @@ export default function MusicStudio() {
const [musicalKey, setMusicalKey] = useState('C');
const [scale, setScale] = useState('Major');
const [prompt, setPrompt] = useState('');
const [customTitle, setCustomTitle] = useState('');
/* ── Suno 전용 상태 ── */
const [lyrics, setLyrics] = useState('');
@@ -736,7 +737,7 @@ export default function MusicStudio() {
const durSec = DURATIONS.find((d) => d.id === duration)?.sec ?? 60;
const moodLabel = moods[0] ? MOODS.find((m) => m.id === moods[0])?.label : 'Original';
const title = `${activeGenre?.label}${moodLabel} Mix`;
const title = customTitle.trim() || `${activeGenre?.label}${moodLabel} Mix`;
const instList = instruments.length > 0 ? instruments : ['piano', 'synth', 'bass'];
const payload = {
@@ -1073,6 +1074,7 @@ export default function MusicStudio() {
setTrack(null);
setGenProgress(0);
setGenError(null);
setCustomTitle('');
clearInterval(pollRef.current);
};
@@ -1689,6 +1691,20 @@ export default function MusicStudio() {
</div>
</div>
{/* Track title input */}
{!track && (
<div className="ms-title-input-wrap">
<input
type="text"
className="ms-title-input"
placeholder="트랙 제목 (비워두면 자동 생성)"
value={customTitle}
onChange={(e) => setCustomTitle(e.target.value)}
maxLength={80}
/>
</div>
)}
{/* Generate button */}
{!track && (
<button