deepseed-interface / script.js
Abmacode12's picture
<!doctype html>
dca3691 verified
raw
history blame
2.43 kB
const promptInput = document.getElementById("promptInput");
const generateBtn = document.getElementById("generateBtn");
const micBtn = document.getElementById("micBtn");
const codeOutput = document.getElementById("codeOutput");
const copyBtn = document.getElementById("copyBtn");
const clearBtn = document.getElementById("clearBtn");
function fakeGenerate(prompt) {
// Remplace ça plus tard par ton API IA (OpenRouter, local, etc.)
const p = (prompt || "").trim();
if (!p) return "// Écris une demande dans la barre en bas, puis clique sur Générer ✨";
return `// ✅ Demande reçue : ${p}
function main() {
console.log("Hello Rosalinda!");
}
// (Ici, tu brancheras ton IA pour générer du vrai code)
main();`;
}
generateBtn.addEventListener("click", () => {
const prompt = promptInput.value;
codeOutput.textContent = fakeGenerate(prompt);
});
document.querySelectorAll(".chip").forEach((btn) => {
btn.addEventListener("click", () => {
const p = btn.dataset.prompt || "";
promptInput.value = p;
codeOutput.textContent = fakeGenerate(p);
});
});
copyBtn.addEventListener("click", async () => {
try {
await navigator.clipboard.writeText(codeOutput.textContent);
copyBtn.textContent = "✅ Copié";
setTimeout(() => (copyBtn.textContent = "📄 Copier"), 1200);
} catch {
alert("Impossible de copier automatiquement. Copie manuelle nécessaire.");
}
});
clearBtn.addEventListener("click", () => {
promptInput.value = "";
codeOutput.textContent = "// Le code généré apparaîtra ici…";
});
/* 🎤 Micro (Web Speech API) — si dispo */
let recognition = null;
if ("webkitSpeechRecognition" in window || "SpeechRecognition" in window) {
const SR = window.SpeechRecognition || window.webkitSpeechRecognition;
recognition = new SR();
recognition.lang = "fr-FR";
recognition.interimResults = true;
recognition.onresult = (event) => {
let transcript = "";
for (let i = event.resultIndex; i < event.results.length; i++) {
transcript += event.results[i][0].transcript;
}
promptInput.value = transcript.trim();
};
recognition.onerror = () => {
// silencieux (évite bugs visuels)
};
}
micBtn.addEventListener("click", () => {
if (!recognition) {
alert("Micro non disponible sur ce navigateur (Web Speech API).");
return;
}
try {
recognition.start();
} catch {
// évite erreur si déjà lancé
}
});