index.html 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. <!DOCTYPE html>
  2. <!--
  3. * Copyright © 2018-2020 Unrud <unrud@outlook.com>
  4. * Copyright © 2023-2023 Henning <github@henning-ullrich.de>
  5. * Copyright © 2023-2024 Matthew Hana <matthew.hana@gmail.com>
  6. * Copyright © 2024-2025 Peter Bieringer <pb@bieringer.de>
  7. -->
  8. <html lang="en">
  9. <head>
  10. <meta charset="utf-8">
  11. <meta name="viewport" content="width=device-width, initial-scale=1">
  12. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  13. <title>Radicale Web Interface</title>
  14. <link href="css/main.css" type="text/css" media="screen" rel="stylesheet">
  15. <link href="css/icon.png" type="image/png" rel="icon">
  16. <style>.hidden {display: none !important;}</style>
  17. <script src="fn.js"></script>
  18. </head>
  19. <body>
  20. <nav id="logoutview" class="hidden">
  21. <span data-name="user" style="word-wrap:break-word;"></span>
  22. <a href="#" class="green" data-name="refresh" title="Refresh">Refresh</a>
  23. <a href="#" class="red" data-name="logout" title="Logout">Logout</a>
  24. </nav>
  25. <main>
  26. <section id="loadingscene">
  27. <img src="css/loading.svg" alt="Loading..." class="loading">
  28. <h2>Loading</h2>
  29. <p>Please wait...</p>
  30. <noscript>JavaScript is required</noscript>
  31. </section>
  32. <section id="loginscene" class="container hidden">
  33. <div class="infcloudlink-hidden">
  34. <form action="infcloud/" method="get" target="_blank">
  35. <button class="blue" type="submit">Collection content<br>(InfCloud web client)</button>
  36. </form>
  37. </div>
  38. <div class="logocontainer">
  39. <img src="css/logo.svg" alt="Radicale">
  40. <br>
  41. Collection management
  42. </div>
  43. <h1>Sign in</h1>
  44. <br>
  45. <form data-name="form">
  46. <input data-name="user" type="text" placeholder="Username">
  47. <input data-name="password" type="password" placeholder="Password">
  48. <button class="green" type="submit">Next</button>
  49. <span class="error" data-name="error"></span>
  50. </form>
  51. </section>
  52. <section id="collectionsscene" class="hidden">
  53. <div class="fabcontainer">
  54. <a href="" class="green" data-name="new" title="Create a new addressbook or calendar">
  55. <img src="css/icons/new.svg" class="icon" alt="➕">
  56. </a>
  57. <a href="" class="blue" data-name="upload" title="Upload an addressbook or calendar">
  58. <img src="css/icons/upload.svg" class="icon" alt="⬆️">
  59. </a>
  60. </div>
  61. <article data-name="collectiontemplate" class="hidden">
  62. <div class="colorbar" data-name="color"></div>
  63. <h3 class="title" data-name="title">Title</h3>
  64. <small>
  65. <span data-name="ADDRESSBOOK">Address book</span>
  66. <span data-name="CALENDAR_JOURNAL_TASKS">Calendar, journal and tasks</span>
  67. <span data-name="CALENDAR_JOURNAL">Calendar and journal</span>
  68. <span data-name="CALENDAR_TASKS">Calendar and tasks</span>
  69. <span data-name="JOURNAL_TASKS">Journal and tasks</span>
  70. <span data-name="CALENDAR">Calendar</span>
  71. <span data-name="JOURNAL">Journal</span>
  72. <span data-name="TASKS">Tasks</span>
  73. <span data-name="WEBCAL">Webcal</span>
  74. </small>
  75. <small data-name="contentcount"></small>
  76. <input type="text" data-name="url" value="" readonly="" onfocus="this.setSelectionRange(0, 99999);">
  77. <p data-name="description" style="word-wrap:break-word;">Description</p>
  78. <ul>
  79. <li>
  80. <a href="" title="Download" class="green" data-name="download">
  81. <img src="css/icons/download.svg" class="icon" alt="🔗">
  82. </a>
  83. </li>
  84. <li>
  85. <a href="" title="Edit" class="blue" data-name="edit">
  86. <img src="css/icons/edit.svg" class="icon" alt="✏️">
  87. </a>
  88. </li>
  89. <li>
  90. <a href="" title="Delete" class="red" data-name="delete">
  91. <img src="css/icons/delete.svg" class="icon" alt="❌">
  92. </a>
  93. </li>
  94. </ul>
  95. </article>
  96. </section>
  97. <section id="editcollectionscene" class="container hidden">
  98. <h1>Edit Collection</h1>
  99. <p>Editing collection <span class="title" data-name="title">title</span>
  100. </p>
  101. <form> Type: <br>
  102. <select data-name="type">
  103. <option value="ADDRESSBOOK">addressbook</option>
  104. <option value="CALENDAR_JOURNAL_TASKS">calendar, journal and tasks</option>
  105. <option value="CALENDAR_JOURNAL">calendar and journal</option>
  106. <option value="CALENDAR_TASKS">calendar and tasks</option>
  107. <option value="JOURNAL_TASKS">journal and tasks</option>
  108. <option value="CALENDAR">calendar</option>
  109. <option value="JOURNAL">journal</option>
  110. <option value="TASKS">tasks</option>
  111. <option value="WEBCAL">webcal</option>
  112. </select>
  113. <label for="displayname">Title:</label>
  114. <input data-name="displayname" type="text">
  115. <label for="description">Description:</label>
  116. <input data-name="description" type="text">
  117. <label for="source">Source:</label>
  118. <input data-name="source" type="url">
  119. <label for="color">Color:</label>
  120. <input data-name="color" type="color">
  121. <br>
  122. <span class="error hidden" data-name="error"></span>
  123. <br>
  124. <button type="submit" class="green" data-name="submit">Save</button>
  125. <button type="button" class="red" data-name="cancel">Cancel</button>
  126. </form>
  127. <span class="error hidden" data-name="error"></span>
  128. <br>
  129. </section>
  130. <section id="createcollectionscene" class="container hidden">
  131. <h1>Create a new Collection</h1>
  132. <p>Enter the details of your new collection.</p>
  133. <form> Type: <br>
  134. <select data-name="type">
  135. <option value="ADDRESSBOOK">Address book</option>
  136. <option value="CALENDAR_JOURNAL_TASKS">Calendar, journal and tasks</option>
  137. <option value="CALENDAR_JOURNAL">Calendar and journal</option>
  138. <option value="CALENDAR_TASKS">Calendar and tasks</option>
  139. <option value="JOURNAL_TASKS">Journal and tasks</option>
  140. <option value="CALENDAR">Calendar</option>
  141. <option value="JOURNAL">Journal</option>
  142. <option value="TASKS">Tasks</option>
  143. <option value="WEBCAL">Webcal</option>
  144. </select>
  145. <label for="href">HREF:</label>
  146. <input data-name="href" type="text">
  147. <label for="displayname">Title:</label>
  148. <input data-name="displayname" type="text">
  149. <label for="description">Description:</label>
  150. <input data-name="description" type="text">
  151. <label for="source">Source:</label>
  152. <input data-name="source" type="url">
  153. <label for="color">Color:</label>
  154. <input data-name="color" type="color">
  155. <br>
  156. <span class="error" data-name="error"></span>
  157. <br>
  158. <button type="submit" class="green" data-name="submit">Create</button>
  159. <button type="button" class="red" data-name="cancel">Cancel</button>
  160. </form>
  161. <span class="error hidden" data-name="error"></span>
  162. <br>
  163. </section>
  164. <section id="uploadcollectionscene" class="container hidden">
  165. <h1>Upload Collection</h1>
  166. <ul>
  167. <li data-name="filetemplate" class="hidden"> Uploading <span data-name="name">name</span>
  168. <br>
  169. <span class="successmessage" data-name="success">Uploaded Successfully!</span>
  170. <span class="error" data-name="error"></span>
  171. </li>
  172. </ul>
  173. <div data-name="pending" class="hidden">
  174. <img src="css/loading.svg" class="loading" alt="Please wait..."/>
  175. </div>
  176. <form>
  177. <label for="uploadfile">File:</label>
  178. <input data-name="uploadfile" type="file" accept=".ics, .vcf" multiple>
  179. <label for="href">HREF:</label>
  180. <input data-name="href" type="text">
  181. <small data-name="hreflimitmsg" class="hidden">You can only specify the HREF if you upload 1 file.</small>
  182. <button type="submit" class="green" data-name="submit">Upload</button>
  183. <button type="button" class="red" data-name="close">Close</button>
  184. </form>
  185. <span class="error hidden" data-name="error"></span>
  186. <br>
  187. </section>
  188. <section id="deletecollectionscene" class="container hidden">
  189. <h1>Delete Collection</h1>
  190. <p>To delete the collection <span class="title" data-name="title">title</span> please enter the phrase <strong data-name="deleteconfirmationtext"></strong> in the box below:</p>
  191. <input type="text" class="deleteconfirmationtxt" data-name="confirmationtxt" />
  192. <p class="red">WARNING: This action cannot be reversed.</p>
  193. <form>
  194. <button type="button" class="red" data-name="delete">Delete</button>
  195. <button type="button" class="blue" data-name="cancel">Cancel</button>
  196. </form>
  197. <span class="error hidden" data-name="error"></span>
  198. <br>
  199. </section>
  200. </main>
  201. </body>
  202. </html>