v4.3: file-based media storage + manual VACUUM maintenance
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Audiobook Maker Pro v4.1</title>
|
||||
<title>Audiobook Maker Pro v4.3</title>
|
||||
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
|
||||
@@ -163,7 +163,7 @@
|
||||
<h1 class="app-title">
|
||||
<i class="bi bi-soundwave"></i>
|
||||
Audiobook Maker Pro
|
||||
<span class="version-badge">v4.2</span>
|
||||
<span class="version-badge">v4.3</span>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
@@ -197,6 +197,11 @@
|
||||
</a>
|
||||
</li>
|
||||
<li id="adminDivider" style="display:none;"><hr class="dropdown-divider"></li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="#" onclick="openDbMaintenance()">
|
||||
<i class="bi bi-hdd-stack me-2"></i>Storage & Maintenance
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="#" onclick="openChangePassword()">
|
||||
<i class="bi bi-key me-2"></i>Change Password
|
||||
@@ -467,6 +472,69 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- v4.3: Storage & Maintenance Modal -->
|
||||
<div class="modal fade" id="dbMaintenanceModal" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">
|
||||
<i class="bi bi-hdd-stack me-2"></i>Storage & Maintenance
|
||||
</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div id="dbStatsLoading" class="text-center py-4">
|
||||
<div class="spinner-border text-primary" role="status"></div>
|
||||
<p class="mt-2 text-muted">Loading storage info...</p>
|
||||
</div>
|
||||
|
||||
<div id="dbStatsContent" style="display:none;">
|
||||
<div class="row g-3 mb-3">
|
||||
<div class="col-6">
|
||||
<div class="p-3 rounded" style="background: var(--bg-tertiary);">
|
||||
<div class="text-muted small mb-1"><i class="bi bi-database me-1"></i>Database Size</div>
|
||||
<div class="fs-5 fw-bold" id="dbmFileSize">— MB</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="p-3 rounded" style="background: var(--bg-tertiary);">
|
||||
<div class="text-muted small mb-1"><i class="bi bi-folder me-1"></i>Media Files Size</div>
|
||||
<div class="fs-5 fw-bold" id="dbmMediaSize">— MB</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-2 d-flex justify-content-between align-items-center">
|
||||
<span class="small fw-semibold">
|
||||
<i class="bi bi-trash3 me-1"></i>Reclaimable free space
|
||||
</span>
|
||||
<span class="small text-muted" id="dbmFreeText">— MB (—%)</span>
|
||||
</div>
|
||||
<div class="progress mb-3" style="height: 14px;">
|
||||
<div class="progress-bar" id="dbmFreeBar" role="progressbar" style="width: 0%;"></div>
|
||||
</div>
|
||||
|
||||
<div class="alert" id="dbmAdvice" style="display:none;"></div>
|
||||
|
||||
<p class="text-muted small mb-0">
|
||||
<i class="bi bi-info-circle me-1"></i>
|
||||
VACUUM ডেটাবেসের ফাঁকা স্পেস reclaim করে এটি ছোট করে। প্রজেক্ট ডিলিট করার পর বা মাসে একবার চালানো ভালো। এটি কিছু সময় নিতে পারে।
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||
<button type="button" class="btn btn-outline-secondary" id="dbmRefreshBtn" onclick="loadDbStats()">
|
||||
<i class="bi bi-arrow-clockwise me-1"></i>Refresh
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary" id="dbmVacuumBtn" onclick="runDbVacuum()">
|
||||
<i class="bi bi-stars me-1"></i>Run VACUUM
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
|
||||
<script src="/static/js/app.js"></script>
|
||||
@@ -475,4 +543,4 @@
|
||||
<script src="/static/js/generation.js"></script>
|
||||
<script src="/static/js/interactive-reader.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user