package templates

templ BookShelf(user User, libraries []LibraryData) {
	<!DOCTYPE html>
	<html lang="en">
		<head>
			<meta charset="UTF-8"/>
			<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
			<title>Library - Bookhoard</title>
			<script src="/static/htmx.min.js"></script>
			<script src="/static/main.js" defer></script>
			<link href="/static/style.css" rel="stylesheet"/>
		</head>
		<body class="theme-{ user.Theme }" x-data="bookshelf" x-init="initBookshelf(); setupEventDelegation()">
			@Header(user, "/bookshelf")
			<div class="w-full px-4 sm:px-6 lg:8 py-8">
				<!-- Library Selector -->
				<div class="mb-8">
					<div class="flex flex-col sm:flex-row gap-4 items-center justify-between">
						<div class="flex-1 w-full">
							<label class="block text-sm font-medium mb-2" style="color: var(--text-secondary)">Select Library</label>
							<select id="library-select" @change="selectLibrary" class="w-full px-4 py-3 border rounded-lg text-lg" style="background-color: var(--bg-secondary); color: var(--text-primary); border-color: var(--border);">
								if len(libraries) == 0 {
									<option value="">No libraries available</option>
								} else {
									for _, lib := range libraries {
										<option value={ lib.ID }>{ lib.Name }</option>
									}
								}
							</select>
						</div>
						<div class="flex gap-2">
							<button @click="loadBookshelf" class="btn-primary px-6 py-3 rounded-lg font-medium">
								Refresh
							</button>
						</div>
					</div>
				</div>
				<!-- Bookshelf Container -->
				<div id="bookshelf-container">
					<!-- Loading state -->
					<div id="loading" class="text-center py-16" style="color: var(--text-secondary)">
						<div class="loading-spinner mx-auto mb-4"></div>
						<p>Loading your library...</p>
					</div>
					<!-- Empty state -->
					<div id="empty-state" class="hidden text-center py-16" style="color: var(--text-secondary)">
						<div class="text-6xl mb-4">📚</div>
						<h3 class="text-xl font-semibold mb-2" style="color: var(--text-primary)">No Books Yet</h3>
						<p>Select a library to view your collection</p>
					</div>
					<!-- Books Grid -->
					<div id="books-grid" class="hidden">
						<!-- Books will be loaded here on shelves -->
					</div>
				</div>
			</div>
		</body>
	</html>
}
