index.html 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width" />
  6. <title>Sapphire</title>
  7. <link rel="manifest" href="manifest.json"></link>
  8. <link rel="stylesheet" href="style/palette.css"></link>
  9. <link rel="stylesheet" href="style/style.css"></link>
  10. <link rel="stylesheet" id="emoji-stylesheet" href="style/emoji-none.css"></link>
  11. </head>
  12. <body>
  13. <div id="app" class="show-buddy-list show-chat-user-list">
  14. <div id="buddy-list-pane" class="pane">
  15. <div class="pane-scroller">
  16. <div id="buddy-list">
  17. </div>
  18. <div id="chat-list">
  19. </div>
  20. </div>
  21. <div id="left-pane-footer" class="pane-footer">
  22. <svg id="add-buddy" class="icon">
  23. <title>Add a buddy</title>
  24. <use href="icons/add.svg#add"></use>
  25. </svg>
  26. <!-- TODO: make this an actual settings modal -->
  27. <svg id="change-avatar" class="icon">
  28. <title>Change avatar</title>
  29. <use href="icons/gear.svg#gear"></use>
  30. </svg>
  31. <!--
  32. <div id="whoami">
  33. <div id="whoami-status">
  34. <span class="buddy-avatar"></span>
  35. <span class="buddy-name">Florrie</span>
  36. <span class="buddy-status status-online">●</span>
  37. </div>
  38. </div>
  39. -->
  40. </div>
  41. </div>
  42. <div id="chat-pane" class="pane">
  43. <div id="room-info">
  44. <a id="room-back" href="#" class="room-button">
  45. <svg class="icon"><use href="icons/menu.svg#menu"></use></svg>
  46. </a>
  47. <div id="room-info-content">
  48. <div id="room-name"></div>
  49. <div id="room-topic"></div>
  50. </div>
  51. <!-- TODO: "Toggle chat list" icon -->
  52. <a id="toggle-chat-user-list" class="room-button" href="#">@</a>
  53. </div>
  54. <div id="message-list-container" tabindex="0">
  55. <div id="message-list">
  56. </div>
  57. </div>
  58. <div id="chat-input-area">
  59. <form id="chat-form">
  60. <!-- Don't set an id/name, such that autocompletion doesn't try to do history but you still get generic complete on phones -->
  61. <textarea data-id="input" type="text" placeholder="Message" rows="1"></textarea>
  62. <input type="submit" value="Send!">
  63. </form>
  64. <div id="typing-indicator">
  65. <b id="typing-indicator-name"></b>
  66. <span id="typing-indicator-status"></span>
  67. </div>
  68. </div>
  69. </div>
  70. <div id="chat-user-list-pane" class="pane">
  71. <div class="pane-scroller">
  72. <div id="chat-user-list"></div>
  73. </div>
  74. </div>
  75. </div>
  76. <div id="modal-screen">
  77. <div id="modal-content">
  78. </div>
  79. </div>
  80. <div id="login-screen">
  81. <div id="login-content">
  82. <h1>Sapphire</h1>
  83. <p id="login-status"></p>
  84. <form id="login-form">
  85. <label><span>Username:</span> <input id="username" type="text" required></label>
  86. <label><span>Password:</span> <input id="password" type="password" required></label>
  87. <input type="submit" value="Login">
  88. </form>
  89. </div>
  90. </div>
  91. <script>window.BASE_HOST = window.location.protocol === "file:" ? "localhost" : window.location.hostname;</script>
  92. <script src="vendor/hogan-3.0.1.js"></script>
  93. <script src="vendor/emoji.js"></script>
  94. <script src="vendor/countries-rev.js"></script>
  95. <script src="src/emoji-emoticon-to-unicode.js"></script>
  96. <script src="src/emojify.js"></script>
  97. <script src="src/emoji-font.js"></script>
  98. <script src="src/templates.js"></script>
  99. <script src="src/password.js"></script>
  100. <script src="src/backend.js"></script>
  101. <script src="src/avatar.js"></script>
  102. <script src="src/sanitize.js"></script>
  103. <script src="src/main.js"></script>
  104. </body>
  105. </html>