feat(generator): post data to parent preset form

This commit is contained in:
2026-07-31 06:43:01 +07:00
parent bc36e40967
commit 437980ea9f
4 changed files with 44 additions and 14 deletions
+12 -13
View File
@@ -654,14 +654,13 @@
}, 2500);
}
// Open Save Preset Modal Event Handler — auto-populate per spec
// Open Save Preset Modal Event Handler — post data to parent React app
btnSavePresetModal.addEventListener('click', () => {
const timeData = computeTimeMetrics();
const currentPromptText = promptOutputText.innerText.trim();
const sectionType = inputSectionType.value.trim() || "Building Section";
const role = inputRole.value.trim() || "Composer";
const actionDesc = inputActionDesc.value.trim();
// Auto-infer Category based on Role
let category = "Orchestral / Film Score";
@@ -679,17 +678,17 @@
];
const keywordsStr = keywordList.filter(Boolean).join(', ');
// Populate Form Fields
presetNameInput.value = `${sectionType} (${timeData.barCount} Bars)`;
presetCategorySelect.value = category;
presetKeywordsInput.value = keywordsStr;
presetBarsInput.value = timeData.barCount;
presetBpmInput.value = 120;
presetScaleInput.value = "C Minor";
presetTemplateTextarea.value = currentPromptText;
// Display Modal
presetManagerModal.classList.remove('hidden');
// Post data to parent window (React AI PROMPT PRESET MANAGER)
window.parent.postMessage({
type: 'GENERATOR_PRESET_DATA',
name: `${sectionType} (${timeData.barCount} Bars)`,
category: category,
keywords: keywordsStr,
default_bars: timeData.barCount,
default_bpm: 120,
default_scale: "C Minor",
template: currentPromptText
}, '*');
});
// Close Modal Event Handlers