index.html 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <title>PPS Quarantine Manager</title>
  7. <link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
  8. </head>
  9. <body>
  10. <header class="topbar">
  11. <span class="brand">PPS Quarantine</span>
  12. <div class="toolbar">
  13. <label class="field">Folder
  14. <select id="folder-select"></select>
  15. </label>
  16. <label class="field">Limit
  17. <input id="limit-input" type="number" min="1" max="1000" step="1">
  18. </label>
  19. <label class="field">Sort
  20. <select id="sort-field">
  21. <option value="subject">Subject</option>
  22. <option value="date">Date</option>
  23. <option value="from">Sender</option>
  24. <option value="rcpt">Recipient</option>
  25. </select>
  26. </label>
  27. <button id="sort-dir" class="btn" title="Toggle ascending / descending">▲</button>
  28. <button id="refresh-btn" class="btn">Refresh</button>
  29. <span class="spacer"></span>
  30. <button data-action="release" class="btn action" disabled>Release</button>
  31. <button data-action="report_release" class="btn action" disabled>Report &amp; Release</button>
  32. <button data-action="delete" class="btn action danger" disabled>Delete</button>
  33. <div class="move-wrap">
  34. <button id="move-btn" class="btn action" disabled>Move ▾</button>
  35. <div id="move-menu" class="move-menu hidden"></div>
  36. </div>
  37. </div>
  38. <a class="logout" href="{{ url_for('logout') }}">Sign out</a>
  39. </header>
  40. <div id="status-bar" class="status-bar hidden"></div>
  41. <main class="content">
  42. <table class="msg-table">
  43. <thead>
  44. <tr>
  45. <th class="col-check"><input type="checkbox" id="select-all"></th>
  46. <th class="col-date">Date</th>
  47. <th class="col-from">Sender</th>
  48. <th class="col-rcpt">Recipient</th>
  49. <th class="col-subj">Subject</th>
  50. </tr>
  51. </thead>
  52. <tbody id="msg-body"></tbody>
  53. </table>
  54. <p id="empty-note" class="empty-note hidden">No messages.</p>
  55. <!-- Message content overlay, sits over the list -->
  56. <div id="overlay" class="overlay hidden">
  57. <div class="overlay-panel">
  58. <div class="overlay-head">
  59. <strong id="ov-subject"></strong>
  60. <button id="overlay-close" class="btn">Close ✕</button>
  61. </div>
  62. <div class="overlay-meta" id="ov-meta"></div>
  63. <div class="overlay-bodybar">
  64. <button id="ov-toggle" class="btn small hidden">Show HTML</button>
  65. </div>
  66. <pre id="ov-text" class="overlay-text"></pre>
  67. <iframe id="ov-html" class="overlay-html hidden" sandbox referrerpolicy="no-referrer"></iframe>
  68. </div>
  69. </div>
  70. </main>
  71. <script src="{{ url_for('static', filename='app.js') }}"></script>
  72. </body>
  73. </html>