Hanaz Writers

AI Story Refiner

Romance Drama Comedy Historical
(async function(){ const API = "https://ai.hanazwriters.org/story-refiner"; document .getElementById("refineBtn") .addEventListener("click", refineStory); /* ============================== DISPLAY SUGGESTIONS ============================== */ function list(arr){ if(!arr || !arr.length){ return ""; } return `
    ${arr.map(x => `
  • ${x}
  • `).join("")}
`; } /* ============================== REFINE STORY ============================== */ async function refineStory(){ const title = document.getElementById("titleInput").value.trim(); const genre = document.getElementById("genreInput").value; const script = document.getElementById("scriptInput").value.trim(); const box = document.getElementById("resultBox"); /* ============================== VALIDATION ============================== */ if(!title){ box.innerHTML = `

Please enter your book title.

`; return; } if(!script){ box.innerHTML = `

Please paste your script.

`; return; } /* ============================== LOADING ============================== */ box.innerHTML = `

Refining your story...

`; /* ============================== API REQUEST ============================== */ try{ const res = await fetch(API,{ method:"POST", headers:{ "Content-Type":"application/json" }, body:JSON.stringify({ title, genre, script }) }); /* ============================== CHECK RESPONSE ============================== */ if(!res.ok){ let errorMessage = "Something went wrong. Please try again."; try{ const errorData = await res.json(); if(errorData.error){ errorMessage = errorData.error; } }catch(e){ } throw new Error(errorMessage); } const data = await res.json(); /* ============================== CHECK ANALYSIS ============================== */ if(!data.analysis){ throw new Error( "Invalid response from the server." ); } const a = data.analysis; /* ============================== DISPLAY RESULT ============================== */ box.innerHTML = `

Refined Script

${a.refinedScript || ""}

Suggestion

${list(a.suggestions)} `; }catch(err){ console.error(err); box.innerHTML = `

${err.message || "An error occurred. Please try again."}

`; } } })();