mirror of
https://github.com/karl0ss/ai_image_frame_server.git
synced 2025-06-05 18:35:07 +01:00
create_image spinner
This commit is contained in:
parent
1abba32f18
commit
80f535be45
@ -51,36 +51,66 @@
|
|||||||
button:hover {
|
button:hover {
|
||||||
background: #555;
|
background: #555;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ---------- spinner ---------- */
|
||||||
|
#spinner-overlay {
|
||||||
|
position: fixed;
|
||||||
|
inset: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
background: rgba(0, 0, 0, 0.6);
|
||||||
|
visibility: hidden; /* toggled in JS */
|
||||||
|
z-index: 1000;
|
||||||
|
}
|
||||||
|
.spinner {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
border: 6px solid #555;
|
||||||
|
border-top-color: white;
|
||||||
|
border-radius: 50%;
|
||||||
|
animation: spin 0.8s linear infinite;
|
||||||
|
}
|
||||||
|
@keyframes spin { to { transform: rotate(360deg); } }
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1 style="margin-bottom: 20px;">Create An Image</h1>
|
<h1 style="margin-bottom: 20px;">Create An Image</h1>
|
||||||
<textarea id="prompt-box" placeholder="Enter your custom prompt here..."></textarea>
|
<textarea id="prompt-box" placeholder="Enter your custom prompt here..."></textarea>
|
||||||
<div class="button-group">
|
<div class="button-group">
|
||||||
<button onclick="location.href='/'">Back</button>
|
<button onclick="showSpinner(); location.href='/'">Back</button>
|
||||||
<button onclick="sendPrompt()">Send Prompt</button>
|
<button onclick="sendPrompt()">Send Prompt</button>
|
||||||
<button onclick="location.href='/create'">Random Prompt</button>
|
<button onclick="showSpinner(); location.href='/create'">Random Prompt</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- waiting overlay -->
|
||||||
|
<div id="spinner-overlay">
|
||||||
|
<div class="spinner"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
const overlay = document.getElementById('spinner-overlay');
|
||||||
|
function showSpinner() {
|
||||||
|
overlay.style.visibility = 'visible';
|
||||||
|
}
|
||||||
|
|
||||||
function sendPrompt() {
|
function sendPrompt() {
|
||||||
|
showSpinner();
|
||||||
const prompt = document.getElementById('prompt-box').value;
|
const prompt = document.getElementById('prompt-box').value;
|
||||||
const formData = new URLSearchParams();
|
const formData = new URLSearchParams();
|
||||||
formData.append('prompt', prompt);
|
formData.append('prompt', prompt);
|
||||||
|
|
||||||
fetch('/create', {
|
fetch('/create', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
||||||
'Content-Type': 'application/x-www-form-urlencoded',
|
|
||||||
},
|
|
||||||
body: formData.toString()
|
body: formData.toString()
|
||||||
}).then(response => {
|
})
|
||||||
if (response.redirected) {
|
.then(response => {
|
||||||
window.location.href = response.url;
|
// If server redirects, follow it; otherwise go to /create
|
||||||
} else {
|
window.location.href = response.redirected ? response.url : '/create';
|
||||||
alert("Image creation request sent.");
|
})
|
||||||
}
|
.catch(error => {
|
||||||
}).catch(error => {
|
overlay.style.visibility = 'hidden'; // hide spinner on failure
|
||||||
alert("Error sending prompt: " + error);
|
alert("Error sending prompt: " + error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user