diff --git a/templates/admin/request.html b/templates/admin/request.html index 2ad384d..728c472 100644 --- a/templates/admin/request.html +++ b/templates/admin/request.html @@ -112,36 +112,31 @@
-

1. Generate Suno Prompt

- -

Paste Hermes response into the box below. It will auto-extract Title, Style, and Lyrics.

+

1. Generate Suno Prompt

- - + + +

Paste Hermes' Title, Style, and Lyrics directly into the fields below, then save.

-
- -
+
+ - - + + - - + + - - + + - - - -
- - - - -
-
+
+ + + + +
+
@@ -227,7 +222,6 @@ /* Client-side helpers for the admin detail page. - copyPromptForHermes(): builds a plain-text prompt and copies it. - - extractHermesResponse(): parses Title/Style/Lyrics from pasted text. - copyToClipboard(): copies a field to the clipboard for pasting into Suno. */ @@ -240,35 +234,7 @@ extra_requests: {{ req.extra_requests | tojson }} }; const text = `Please write a Suno Custom Mode prompt for this customer. Suggest a song title too.\n\nCustomer data:\nName: ${data.name}\nHobbies: ${data.hobbies || '-'}\nNotable facts: ${data.notable_facts || '-'}\nStyle / genre: ${data.style_genre || '-'}\nExtra requests: ${data.extra_requests || '-'}\n\nReply with exactly this format:\n\nTitle: [suggested title]\n\nStyle:\n[the style description here]\n\nLyrics:\n[the lyrics here, with metatags]`; - navigator.clipboard.writeText(text).then(() => alert("Copied! Paste Hermes response into the box above and click Extract.")); - } - - function extractHermesResponse() { - const raw = document.getElementById('hermes_response').value; - if (!raw.trim()) { - alert("Paste Hermes response first."); - return; - } - - const titleMatch = raw.match(/^[\s]*Title:\s*([\s\S]*?)(?=\n\s*Style:|\n\s*Lyrics:|$)/im); - const styleMatch = raw.match(/^[\s]*Style:\s*([\s\S]*?)(?=\n\s*Lyrics:|$)/im); - const lyricsMatch = raw.match(/^[\s]*Lyrics:\s*([\s\S]*?)$/im); - - if (titleMatch) { - document.getElementById('suno_title').value = titleMatch[1].trim(); - } - if (styleMatch) { - document.getElementById('suno_style').value = styleMatch[1].trim(); - } - if (lyricsMatch) { - document.getElementById('suno_lyrics').value = lyricsMatch[1].trim(); - } - - if (!styleMatch && !lyricsMatch) { - alert("Could not find Style or Lyrics sections. Make sure the response uses the exact format."); - } else { - alert("Title, Style, and Lyrics extracted. Use Copy buttons to paste into Suno."); - } + navigator.clipboard.writeText(text).then(() => alert("Copied! Paste Hermes response into the Title, Style, and Lyrics fields.")); } function copyToClipboard(elementId, label) {