editor.html 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>Typing Freaks Editor</title>
  6. <link rel="stylesheet" href="editor.css" />
  7. </head>
  8. <body>
  9. <div id="container">
  10. <div id="open-screen">
  11. <button id="open-new">Create New</button>
  12. or load an existing file
  13. <input id="open-file" type="file" accept="application/json" />
  14. </div>
  15. <div id="config-screen">
  16. <span id="config-navigation"></span>
  17. <button id="config-add">Add Level Set</button>
  18. <button id="config-download">Download</button>
  19. <button id="config-close">Close</button>
  20. <div id="config-levels"></div>
  21. </div>
  22. <div id="level-screen">
  23. <div class="playback">
  24. <div id="youtube"></div>
  25. <div class="controls">
  26. <div id="display"></div>
  27. <div class="waveform-container">
  28. <canvas id="waveform"></canvas>
  29. <canvas id="waveform-overlay"></canvas>
  30. </div>
  31. <div class="scrubber">
  32. <div class="bar">
  33. <div class="bar-overlay"></div>
  34. </div>
  35. <div class="markers"></div>
  36. </div>
  37. <div>
  38. <button id="play">Play</button>
  39. <button id="pause">Pause</button>
  40. <button id="insert-marker">Insert Marker</button>
  41. </div>
  42. </div>
  43. </div>
  44. <div class="header">
  45. <span id="level-title"></span>
  46. <button id="level-save">Save</button>
  47. <button id="level-close">Close</button>
  48. </div>
  49. <div class="lyrics">
  50. <div class="header time">Time</div>
  51. <div class="header span play-section remove-section">Controls</div>
  52. <div class="header">Kana</div>
  53. <div class="header">Kanji</div>
  54. </div>
  55. </div>
  56. </div>
  57. <template id="line-template">
  58. <input
  59. class="time"
  60. type="number"
  61. step="0.05"
  62. required
  63. autocomplete="off"
  64. />
  65. <button class="play-section">Play</button>
  66. <button class="remove-section">Remove</button>
  67. <input
  68. class="kana"
  69. pattern="[a-zA-Zぁ-んァ-ンー\s]*"
  70. autocomplete="off"
  71. />
  72. <input class="kanji" autocomplete="off" />
  73. </template>
  74. <template id="level-set-template">
  75. <div class="level-set">
  76. <div class="header">
  77. <div class="name"></div>
  78. <button class="add-level">Add Level</button>
  79. <button class="move-up">^</button>
  80. <button class="move-down">v</button>
  81. <button class="remove">Remove</button>
  82. </div>
  83. <table class="level-list">
  84. <thead>
  85. <tr>
  86. <th>Title</th>
  87. <th>Creator</th>
  88. <th>Genre</th>
  89. <th>Difficulty</th>
  90. <th>Audio</th>
  91. <th>Link</th>
  92. <th>Lyrics</th>
  93. <th>Actions</th>
  94. </tr>
  95. </thead>
  96. <tbody> </tbody>
  97. </table>
  98. </div>
  99. </template>
  100. <template id="level-list-item-template">
  101. <tr>
  102. <td class="name"></td>
  103. <td class="creator"></td>
  104. <td class="genre"></td>
  105. <td class="difficulty"></td>
  106. <td class="audio"></td>
  107. <td class="link"></td>
  108. <td>
  109. <button class="edit-lyrics">Edit Lyrics</button>
  110. </td>
  111. <td>
  112. <button class="move-up">^</button>
  113. <button class="move-down">v</button>
  114. <button class="remove-level">Remove</button>
  115. </td>
  116. </tr>
  117. </template>
  118. <script type="module" src="editor/index.js"></script>
  119. </body>
  120. </html>