reading_log.html 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. {% extends "base.html" %}
  2. {% block title %}Reading Log - Dewy Oracle{% endblock %}
  3. {% block extra_head %}
  4. <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
  5. {% endblock %}
  6. {% block header %}
  7. <h1>Reading Log</h1>
  8. <p class="subtitle">Track your listening progress and statistics</p>
  9. {% endblock %}
  10. {% block content %}
  11. <div id="message" class="message hidden"></div>
  12. <!-- Statistics Summary -->
  13. <section class="section">
  14. <h2>Reading Statistics</h2>
  15. <div id="stats-loading" class="loading">Loading statistics...</div>
  16. <div id="stats-container" class="stats-grid hidden">
  17. <div class="stat-card">
  18. <div class="stat-value" id="stat-total-books">-</div>
  19. <div class="stat-label">Books Finished</div>
  20. </div>
  21. <div class="stat-card">
  22. <div class="stat-value" id="stat-total-hours">-</div>
  23. <div class="stat-label">Hours Listened</div>
  24. </div>
  25. <div class="stat-card">
  26. <div class="stat-value" id="stat-avg-rating">-</div>
  27. <div class="stat-label">Average Rating</div>
  28. </div>
  29. <div class="stat-card">
  30. <div class="stat-value" id="stat-streak">-</div>
  31. <div class="stat-label">Day Streak</div>
  32. </div>
  33. </div>
  34. </section>
  35. <!-- Charts -->
  36. <section class="section">
  37. <div class="charts-container">
  38. <div class="chart-card">
  39. <h3>Books Per Month</h3>
  40. <canvas id="books-per-month-chart"></canvas>
  41. </div>
  42. <div class="chart-card">
  43. <h3>Top Genres</h3>
  44. <canvas id="genres-chart"></canvas>
  45. </div>
  46. </div>
  47. </section>
  48. <!-- Recent Books -->
  49. <section class="section">
  50. <h2>Recently Finished Books</h2>
  51. <div id="recent-books-container">
  52. <div id="books-loading" class="loading">Loading books...</div>
  53. <div id="books-list" class="books-grid hidden"></div>
  54. <div id="books-empty" class="empty-state hidden">
  55. No finished books yet. Start listening and they'll appear here!
  56. </div>
  57. </div>
  58. </section>
  59. {% endblock %}
  60. {% block extra_scripts %}
  61. <script src="/static/js/reading-log.js"></script>
  62. <script>
  63. // Initialize reading log on page load
  64. document.addEventListener('DOMContentLoaded', () => {
  65. loadReadingStats();
  66. });
  67. </script>
  68. {% endblock %}