62 lines
2.1 KiB
HTML
62 lines
2.1 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}{{ status }} - {{ title }}{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container mt-5">
|
|
<div class="row">
|
|
<div class="col-lg-8 mx-auto text-center">
|
|
|
|
<div class="mb-4">
|
|
<div class="display-4 fw-bold text-danger">{{ status }}</div>
|
|
<h3 class="mb-2">{{ title }}</h3>
|
|
<p class="text-muted mb-3">{{ message }}</p>
|
|
|
|
<div class="alert alert-light border text-start">
|
|
<div class="d-flex justify-content-between align-items-center flex-wrap gap-2">
|
|
<div>
|
|
<div class="small text-muted">Path</div>
|
|
<code>{{ path }}</code>
|
|
</div>
|
|
<div>
|
|
<div class="small text-muted">Hint</div>
|
|
{% if status == 405 %}
|
|
<span class="badge bg-warning text-dark">Check HTTP method</span>
|
|
{% elif status == 400 %}
|
|
<span class="badge bg-warning text-dark">Check request body</span>
|
|
{% elif status == 401 %}
|
|
<span class="badge bg-warning text-dark">Auth required</span>
|
|
{% elif status == 403 %}
|
|
<span class="badge bg-warning text-dark">Permission denied</span>
|
|
{% else %}
|
|
<span class="badge bg-secondary">Check URL</span>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="d-flex justify-content-center gap-2 flex-wrap">
|
|
<a href="/" class="btn btn-primary">
|
|
<i class="fas fa-home me-1"></i>Home
|
|
</a>
|
|
<a href="/api/docs" class="btn btn-outline-secondary">
|
|
<i class="fas fa-book me-1"></i>API Docs
|
|
</a>
|
|
<a href="/generator" class="btn btn-outline-dark">
|
|
<i class="fas fa-code me-1"></i>Script Generator
|
|
</a>
|
|
</div>
|
|
|
|
<div class="mt-4 small text-muted">
|
|
{% if path.startswith('/api/') %}
|
|
API endpoints return JSON for programmatic clients.
|
|
{% else %}
|
|
If you expected an API response, use <code>/api/...</code>.
|
|
{% endif %}
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |