summaryrefslogtreecommitdiff
path: root/index.html
blob: b1b8d7c8b5343f8055ffb591056bd7081062c115 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="description" content="A showcase of science fiction books featuring works by Alastair Reynolds, Andreas Brandhorst, Arthur C. Clarke, and more.">
  <title>Sci-Fi Books Showcase</title>
  <link rel="stylesheet" href="css/styles.css">
</head>
<body>
  <header class="header">
    <h1>Sci-Fi Books Showcase</h1>
    <p>A curated collection of science fiction novels</p>
  </header>

  <nav class="filters" aria-label="Book filters">
    <div class="filter-group">
      <label for="author-filter">Author:</label>
      <select id="author-filter">
        <option value="all">All Authors</option>
      </select>
    </div>
    <div class="filter-group">
      <label for="format-filter">Format:</label>
      <select id="format-filter">
        <option value="all">All Formats</option>
        <option value="paperback">Paperback</option>
        <option value="ebook">eBook</option>
        <option value="audiobook">Audiobook</option>
      </select>
    </div>
    <div class="filter-group">
      <label for="search-input">Search:</label>
      <input type="search" id="search-input" placeholder="Title or author..." aria-label="Search books">
    </div>
  </nav>

  <main class="container">
    <p class="book-count" id="book-count" aria-live="polite">Loading books...</p>

    <div class="books-grid" id="books-grid" role="list">
      <div class="loading-message">
        <div class="spinner"></div>
        <p>Loading books...</p>
      </div>
    </div>
  </main>

  <!-- Modal for book details -->
  <div class="modal-overlay" id="book-modal" role="dialog" aria-modal="true" aria-labelledby="modal-title">
    <div class="modal-content" id="modal-content">
      <h2 id="modal-title" class="visually-hidden">Book Details</h2>
    </div>
  </div>

  <footer class="footer">
    <p>Works fully offline - all data stored locally</p>
    <p>Data sourced from <a href="https://foo.zone/about/novels.html" target="_blank" rel="noopener">foo.zone</a></p>
  </footer>

  <script src="js/app.js"></script>
</body>
</html>