feat: Add site for promt input to generate a Haiku

Refs: OPS-50
This commit is contained in:
0xjrx 2025-02-26 19:57:42 +01:00 committed by 0xjrx
parent 3978dc37bb
commit 3c260ea004
No known key found for this signature in database
GPG key ID: 61C53033867D0271
3 changed files with 93 additions and 0 deletions

View file

@ -37,3 +37,9 @@ def haiku_view(haiku_id):
"haiku.html",
context=context,
title="Haiku of the Day")
@app.route("/prompt")
def prompt_view():
return render_template(
"prompt.jinja",
title= "Haiku generation"
)

View file

@ -0,0 +1,28 @@
{% extends "base.jinja" %}
{% block content %}
<div class="bg-violet-900 min-h-screen flex items-center justify-center text-white">
<div class="text-center">
<div class="bg-white text-gray-900 p-10 rounded-lg shadow-lg max-w-2xl mx-auto transform -translate-y-10">
<h1 class="text-4xl font-bold text-violet-700 mb-6">Haiku of the Day</h1>
<p class="text-2xl italic leading-relaxed">
An old silent pond<br>
A frog jumps into the pond—<br>
Splash! Silence again.
</p>
</div>
<div class="flex justify-center gap-4 mt-4">
<a href="{{ url_for('index_view') }}"
class="inline-block bg-violet-600 hover:bg-violet-700 text-white font-bold py-2 px-4 rounded-lg">
Back to Home
</a>
<a href="{{ url_for('prompt_view') }}"
class="inline-block bg-violet-600 hover:bg-violet-700 text-white font-bold py-2 px-4 rounded-lg">
Generate Haiku
</a>
</div>
</div>
</div>
{% endblock %}

View file

@ -0,0 +1,59 @@
{% extends "base.jinja" %}
{% block content %}
<div class="flex flex-col items-center justify-center min-h-screen bg-violet-900 text-white p-6">
<div class="bg-white text-gray-900 p-8 rounded-xl shadow-lg max-w-lg w-full text-center transform transition duration-300 hover:scale-105">
<h1 class="text-3xl font-bold text-violet-700 mb-4">Very 1337 prompt input</h1>
<div class="flex flex-col gap-4">
<input
type="text"
id="user-input"
placeholder="Type your prompt here..."
class="w-full px-4 py-3 text-lg border-2 border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-violet-600"
/>
<button
id="submit-btn"
class="bg-violet-600 text-white font-bold py-3 px-6 rounded-lg text-lg shadow-md transition duration-300 hover:bg-violet-700 hover:scale-105"
>
🚀 Submit
</button>
</div>
</div>
<div id="response-box" class="mt-8 bg-white text-gray-900 p-6 rounded-lg shadow-lg max-w-lg w-full text-center opacity-0 transition-opacity duration-500 ease-in-out">
<h2 class="text-2xl font-semibold text-violet-700">Response:</h2>
<p id="ai-response" class="text-lg text-gray-700 mt-2 italic">Waiting for input...</p>
</div>
</div>
<script>
document.getElementById("submit-btn").addEventListener("click", function() {
let userInput = document.getElementById("user-input").value;
let responseBox = document.getElementById("response-box");
let responseText = document.getElementById("ai-response");
if (userInput.trim() === "") {
responseText.textContent = "Please enter a prompt!";
}
else if (userInput.trim()==="amogus"){
responseText.textContent = "🤖 AI is thinking...";
responseBox.classList.remove("opacity-0");
// Simulated AI response delay
setTimeout(() => {
responseText.textContent = `Sus imposter ඞ`;
}, 1500);
}
else {
responseText.textContent = "🤖 AI is thinking...";
responseBox.classList.remove("opacity-0");
// Simulated AI response delay
setTimeout(() => {
responseText.textContent = `"${userInput}" sounds interesting! Let's explore more! 🌟`;
}, 1500);
}
});
</script>
{% endblock %}