Personal-Digital-Asset-Manager/templates/base.html
Timothy Rogers 4f5c5fd09d
All checks were successful
Build and Publish Docker Image / build (push) Successful in 39s
Added spinner and fixed asset delete bug
2025-05-24 19:01:29 -04:00

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">&times;</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>