All checks were successful
Build and Publish Docker Image / build (push) Successful in 39s
108 lines
3.9 KiB
HTML
108 lines
3.9 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta
|
|
name="description"
|
|
content="Digital Assets Manager - Organize and manage your digital assets"
|
|
/>
|
|
<title>Digital Assets Manager</title>
|
|
<link
|
|
rel="stylesheet"
|
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
|
|
/>
|
|
<link
|
|
rel="stylesheet"
|
|
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
|
|
/>
|
|
<link
|
|
rel="stylesheet"
|
|
href="{{ url_for('static', filename='css/style.css') }}"
|
|
/>
|
|
<link
|
|
rel="stylesheet"
|
|
href="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.27.3/ui/trumbowyg.min.css"
|
|
integrity="sha512-Fm8kRNVGCBZn0sPmwJbVXlqfJmPC13zRsMElZenX6v721g/H7OukJd8XzDEBRQ2FSATK8xNF9UYvzsCtUpfeJg=="
|
|
crossorigin="anonymous"
|
|
referrerpolicy="no-referrer"
|
|
/>
|
|
<style>
|
|
.loading-overlay {
|
|
display: none;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: rgba(0, 0, 0, 0.7);
|
|
z-index: 9999;
|
|
justify-content: center;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
}
|
|
.loading-spinner {
|
|
width: 50px;
|
|
height: 50px;
|
|
border: 5px solid #f3f3f3;
|
|
border-top: 5px solid #3498db;
|
|
border-radius: 50%;
|
|
animation: spin 1s linear infinite;
|
|
margin-bottom: 20px;
|
|
}
|
|
.loading-text {
|
|
color: white;
|
|
font-size: 18px;
|
|
}
|
|
@keyframes spin {
|
|
0% { transform: rotate(0deg); }
|
|
100% { transform: rotate(360deg); }
|
|
}
|
|
</style>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.27.3/trumbowyg.min.js"></script>
|
|
{% block head %}{% endblock %}
|
|
</head>
|
|
<body>
|
|
<div class="loading-overlay">
|
|
<div class="loading-spinner"></div>
|
|
<div class="loading-text">Processing...</div>
|
|
</div>
|
|
<nav class="main-nav">
|
|
<div class="nav-container">
|
|
<div class="nav-brand">Digital Assets Manager</div>
|
|
<div class="nav-links">
|
|
<a href="{{ url_for('index') }}" class="nav-link"
|
|
><i class="fas fa-home"></i> Home</a
|
|
>
|
|
<a href="{{ url_for('add_asset') }}" class="nav-link"
|
|
><i class="fas fa-plus"></i> Add Asset</a
|
|
>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<main class="main-content">
|
|
{% with messages = get_flashed_messages(with_categories=true) %} {%
|
|
if messages %} {% for category, message in messages %}
|
|
<div class="alert alert-{{ category }}">
|
|
{{ message }}
|
|
<button class="alert-close">×</button>
|
|
</div>
|
|
{% endfor %} {% endif %} {% endwith %} {% block content %}{%
|
|
endblock %}
|
|
</main>
|
|
|
|
{% block scripts %}{% endblock %}
|
|
<script>
|
|
// Close alert messages
|
|
document.addEventListener("DOMContentLoaded", function () {
|
|
document.querySelectorAll(".alert-close").forEach((button) => {
|
|
button.addEventListener("click", () => {
|
|
button.parentElement.style.display = "none";
|
|
});
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|