Update admin templates: remove scanner link/card, fix profile inputs, reorder library sections

This commit is contained in:
2026-01-23 17:52:10 -05:00
parent 335c63a494
commit adeec3d64c
3 changed files with 19 additions and 31 deletions
+2 -14
View File
@@ -73,9 +73,6 @@ templ Admin(user User) {
<a href="/admin/library" class="block px-4 py-2 rounded-lg hover:opacity-80" style="color: var(--text-primary)"> <a href="/admin/library" class="block px-4 py-2 rounded-lg hover:opacity-80" style="color: var(--text-primary)">
📚 Library Management 📚 Library Management
</a> </a>
<a href="/admin/scanner" class="block px-4 py-2 rounded-lg hover:opacity-80" style="color: var(--text-primary)">
🔍 Scanner Settings
</a>
</nav> </nav>
</div> </div>
</aside> </aside>
@@ -87,7 +84,7 @@ templ Admin(user User) {
<p style="color: var(--text-secondary)">Overview of your Bookmann library and settings</p> <p style="color: var(--text-secondary)">Overview of your Bookmann library and settings</p>
</div> </div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8"> <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8">
<div class="card p-6 rounded-lg border" style="background-color: var(--bg-secondary); border-color: var(--border)"> <div class="card p-6 rounded-lg border" style="background-color: var(--bg-secondary); border-color: var(--border)">
<div class="flex items-center space-x-3"> <div class="flex items-center space-x-3">
<div class="text-3xl">📖</div> <div class="text-3xl">📖</div>
@@ -110,16 +107,7 @@ templ Admin(user User) {
<a href="/admin/profile" class="mt-4 inline-block text-sm btn-secondary px-3 py-1 rounded">Manage Settings</a> <a href="/admin/profile" class="mt-4 inline-block text-sm btn-secondary px-3 py-1 rounded">Manage Settings</a>
</div> </div>
<div class="card p-6 rounded-lg border" style="background-color: var(--bg-secondary); border-color: var(--border)">
<div class="flex items-center space-x-3">
<div class="text-3xl">🔍</div>
<div>
<h3 class="font-semibold" style="color: var(--text-primary)">Scanner</h3>
<p style="color: var(--text-secondary)" class="text-sm">Library scanning options</p>
</div>
</div>
<a href="/admin/scanner" class="mt-4 inline-block text-sm btn-secondary px-3 py-1 rounded">Configure Scanner</a>
</div>
</div> </div>
<div class="card p-6 rounded-lg border" style="background-color: var(--bg-secondary); border-color: var(--border)"> <div class="card p-6 rounded-lg border" style="background-color: var(--bg-secondary); border-color: var(--border)">
+15 -15
View File
@@ -90,6 +90,21 @@ templ AdminLibrary(user User) {
</div> </div>
<div class="space-y-8"> <div class="space-y-8">
<div class="card p-6 rounded-lg border" style="background-color: var(--bg-secondary); border-color: var(--border)">
<h3 class="text-xl font-semibold mb-6" style="color: var(--text-primary)">Ebook Folders</h3>
<p style="color: var(--text-secondary)" class="mb-4">Manage folders that Bookmann scans for ebooks</p>
<div id="folders-list" class="space-y-3 mb-6">
<!-- Folders will be loaded here -->
</div>
<form hx-post="/api/auth/ebook-folders" hx-target="#add-folder-result" hx-swap="innerHTML" hx-headers='{"Authorization": "Bearer " + localStorage.getItem("token")}' class="flex space-x-3">
<input type="text" name="folder_path" placeholder="/path/to/ebooks" class="flex-1 px-3 py-2 border rounded" style="background-color: var(--bg-primary); color: var(--text-primary); border-color: var(--border)" required>
<button type="submit" class="btn-primary px-4 py-2 rounded">Add Folder</button>
</form>
<div id="add-folder-result" class="mt-2"></div>
</div>
<div class="card p-6 rounded-lg border" style="background-color: var(--bg-secondary); border-color: var(--border)"> <div class="card p-6 rounded-lg border" style="background-color: var(--bg-secondary); border-color: var(--border)">
<h3 class="text-xl font-semibold mb-6" style="color: var(--text-primary)">Scan Settings</h3> <h3 class="text-xl font-semibold mb-6" style="color: var(--text-primary)">Scan Settings</h3>
@@ -118,21 +133,6 @@ templ AdminLibrary(user User) {
<div id="auto-scan-result" class="mt-2"></div> <div id="auto-scan-result" class="mt-2"></div>
</div> </div>
</div> </div>
<div class="card p-6 rounded-lg border" style="background-color: var(--bg-secondary); border-color: var(--border)">
<h3 class="text-xl font-semibold mb-6" style="color: var(--text-primary)">Ebook Folders</h3>
<p style="color: var(--text-secondary)" class="mb-4">Manage folders that Bookmann scans for ebooks</p>
<div id="folders-list" class="space-y-3 mb-6">
<!-- Folders will be loaded here -->
</div>
<form hx-post="/api/auth/ebook-folders" hx-target="#add-folder-result" hx-swap="innerHTML" hx-headers='{"Authorization": "Bearer " + localStorage.getItem("token")}' class="flex space-x-3">
<input type="text" name="folder_path" placeholder="/path/to/ebooks" class="flex-1 px-3 py-2 border rounded" style="background-color: var(--bg-primary); color: var(--text-primary); border-color: var(--border)" required>
<button type="submit" class="btn-primary px-4 py-2 rounded">Add Folder</button>
</form>
<div id="add-folder-result" class="mt-2"></div>
</div>
</div> </div>
</div> </div>
</main> </main>
+2 -2
View File
@@ -96,7 +96,7 @@ templ AdminProfile(user User) {
<div class="mb-6"> <div class="mb-6">
<h4 class="text-lg font-medium mb-3" style="color: var(--text-primary)">Username</h4> <h4 class="text-lg font-medium mb-3" style="color: var(--text-primary)">Username</h4>
<form hx-put="/api/user/username" hx-target="#username-result" hx-swap="innerHTML" hx-headers='{"Authorization": "Bearer " + localStorage.getItem("token")}' class="flex space-x-3 max-w-md"> <form hx-put="/api/user/username" hx-target="#username-result" hx-swap="innerHTML" hx-headers='{"Authorization": "Bearer " + localStorage.getItem("token")}' class="flex space-x-3 max-w-md">
<input type="text" name="username" value="{ user.Username }" class="flex-1 px-3 py-2 border rounded" style="background-color: var(--bg-primary); color: var(--text-primary); border-color: var(--border)" required> <input type="text" name="username" value={ user.Username } class="flex-1 px-3 py-2 border rounded" style="background-color: var(--bg-primary); color: var(--text-primary); border-color: var(--border)" required>
<button type="submit" class="btn-primary px-4 py-2 rounded">Update</button> <button type="submit" class="btn-primary px-4 py-2 rounded">Update</button>
</form> </form>
<div id="username-result" class="mt-2"></div> <div id="username-result" class="mt-2"></div>
@@ -105,7 +105,7 @@ templ AdminProfile(user User) {
<div class="mb-6"> <div class="mb-6">
<h4 class="text-lg font-medium mb-3" style="color: var(--text-primary)">Email Address</h4> <h4 class="text-lg font-medium mb-3" style="color: var(--text-primary)">Email Address</h4>
<form hx-put="/api/user/email" hx-target="#email-result" hx-swap="innerHTML" hx-headers='{"Authorization": "Bearer " + localStorage.getItem("token")}' class="flex space-x-3 max-w-md"> <form hx-put="/api/user/email" hx-target="#email-result" hx-swap="innerHTML" hx-headers='{"Authorization": "Bearer " + localStorage.getItem("token")}' class="flex space-x-3 max-w-md">
<input type="email" name="email" value="{ user.Email }" class="flex-1 px-3 py-2 border rounded" style="background-color: var(--bg-primary); color: var(--text-primary); border-color: var(--border)" required> <input type="email" name="email" value={ user.Email } class="flex-1 px-3 py-2 border rounded" style="background-color: var(--bg-primary); color: var(--text-primary); border-color: var(--border)" required>
<button type="submit" class="btn-primary px-4 py-2 rounded">Update</button> <button type="submit" class="btn-primary px-4 py-2 rounded">Update</button>
</form> </form>
<div id="email-result" class="mt-2"></div> <div id="email-result" class="mt-2"></div>