|
|
{% extends "base.html" %}
|
|
|
|
|
|
{% block title %}Error - Multi-Personality Chat Bot{% endblock %}
|
|
|
|
|
|
{% block content %}
|
|
|
<div class="container-fluid">
|
|
|
<div class="row justify-content-center">
|
|
|
<div class="col-md-8 col-lg-6">
|
|
|
<div class="terminal-card p-5 text-center">
|
|
|
<div class="error-content">
|
|
|
|
|
|
<div class="mb-4">
|
|
|
<i class="fas fa-exclamation-triangle text-warning" style="font-size: 4rem;"></i>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
<h2 class="text-terminal-green mb-3">
|
|
|
Oops! Something went wrong 🤖
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
<div class="error-message mb-4">
|
|
|
{% if error_message %}
|
|
|
<p class="text-light fs-5">{{ error_message }}</p>
|
|
|
{% else %}
|
|
|
<p class="text-light fs-5">An unexpected error occurred. Please try again.</p>
|
|
|
{% endif %}
|
|
|
</div>
|
|
|
|
|
|
|
|
|
{% if error_details %}
|
|
|
<div class="error-details bg-dark p-3 rounded border border-secondary mb-4 text-start">
|
|
|
<h6 class="text-terminal-accent mb-2">Error Details:</h6>
|
|
|
<pre class="text-muted small mb-0"><code>{{ error_details }}</code></pre>
|
|
|
</div>
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
|
<div class="action-buttons">
|
|
|
<a href="/" class="btn btn-terminal-primary me-3">
|
|
|
<i class="fas fa-home me-2"></i>Back to Home
|
|
|
</a>
|
|
|
<button onclick="history.back()" class="btn btn-outline-light">
|
|
|
<i class="fas fa-arrow-left me-2"></i>Go Back
|
|
|
</button>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
<div class="mt-4 pt-4 border-top border-secondary">
|
|
|
<h6 class="text-terminal-accent mb-3">What you can do:</h6>
|
|
|
<div class="row g-3">
|
|
|
<div class="col-md-4">
|
|
|
<div class="tip-card p-3 bg-dark rounded border border-secondary h-100">
|
|
|
<i class="fas fa-refresh text-terminal-green mb-2"></i>
|
|
|
<p class="small mb-0">Refresh the page and try again</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-md-4">
|
|
|
<div class="tip-card p-3 bg-dark rounded border border-secondary h-100">
|
|
|
<i class="fas fa-robot text-terminal-green mb-2"></i>
|
|
|
<p class="small mb-0">Choose a different personality</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-md-4">
|
|
|
<div class="tip-card p-3 bg-dark rounded border border-secondary h-100">
|
|
|
<i class="fas fa-question-circle text-terminal-green mb-2"></i>
|
|
|
<p class="small mb-0">Check your internet connection</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
{% endblock %}
|
|
|
|
|
|
{% block scripts %}
|
|
|
<script>
|
|
|
|
|
|
setTimeout(() => {
|
|
|
const errorMsg = '{{ error_message|lower }}';
|
|
|
if (errorMsg.includes('temporary') || errorMsg.includes('connection') || errorMsg.includes('network')) {
|
|
|
if (confirm('Would you like to refresh the page and try again?')) {
|
|
|
window.location.reload();
|
|
|
}
|
|
|
}
|
|
|
}, 30000);
|
|
|
|
|
|
|
|
|
document.addEventListener('keydown', function(e) {
|
|
|
if (e.key === 'Escape' || e.key === 'Backspace') {
|
|
|
history.back();
|
|
|
} else if (e.key === 'Enter' || e.key === ' ') {
|
|
|
window.location.href = '/';
|
|
|
}
|
|
|
});
|
|
|
</script>
|
|
|
{% endblock %} |