index.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  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. <meta name="theme-color" content="#1a1a1a">
  7. <meta name="description" conent="Minimalistic application for logging, tracking, monitoring and improving your workouts">
  8. <title>Workout Tracker</title>
  9. <link rel="stylesheet" href="/index.css">
  10. <link rel="icon" href="/logo.svg" type="image/svg+xml">
  11. <link rel="manifest" href="/manifest.json">
  12. </head>
  13. <body>
  14. <svg class="logo" width="90" height="60" viewBox="10 20 80 50" xmlns="http://www.w3.org/2000/svg">
  15. <defs>
  16. <linearGradient id="logoGradient" x1="0%" y1="0%" x2="100%" y2="0%">
  17. <stop offset="0%" stop-color="#e57600" />
  18. <stop offset="10%" stop-color="#f46036" />
  19. <stop offset="100%" stop-color="#d7263d" />
  20. </linearGradient>
  21. </defs>
  22. <path d="M10,40 Q25,20 50,30 Q75,40 90,30 Q75,50 50,60 Q25,70 10,60 Q25,50 10,40" fill="url(#logoGradient)" />
  23. </svg>
  24. <p id="notifier" style="display:none"></p>
  25. <div id="registerPage" class="page" style="display:none">
  26. <form id="registerForm" class="standardForm">
  27. <h1>Create Account</h1>
  28. <label>Name
  29. <input
  30. id="registerName"
  31. type="text"
  32. placeholder="Name"
  33. required
  34. >
  35. </label>
  36. <label>Email
  37. <input
  38. id="registerEmail"
  39. type="email"
  40. placeholder="Email"
  41. required
  42. >
  43. </label>
  44. <label>Password
  45. <input
  46. id="registerPass"
  47. type="password"
  48. placeholder="Password"
  49. required
  50. >
  51. </label>
  52. <label>Confirm Password
  53. <input
  54. id="registerConfirmPass"
  55. type="password"
  56. placeholder="Confirm Password"
  57. required
  58. >
  59. </label>
  60. <button>Create</button>
  61. </form>
  62. <button id="registerToLogin" class="link">Log In</button>
  63. </div>
  64. <div id="loginPage" class="page" style="display:none">
  65. <form id="loginForm" class="standardForm">
  66. <h1>Log In</h1>
  67. <label>Email
  68. <input
  69. id="loginEmail"
  70. type="email"
  71. placeholder="Email"
  72. required
  73. >
  74. </label>
  75. <label>Password
  76. <input
  77. id="loginPass"
  78. type="password"
  79. placeholder="Password"
  80. required
  81. />
  82. </label>
  83. <button>Log In</button>
  84. </form>
  85. <button id="loginToRegister" class="link">Register</button>
  86. </div>
  87. <div id="homePage" class="page" style="display:none">
  88. <button id="homeNewWorkout" class="button">+ Workout</button>
  89. <button id="installPwa" class="button">Install App</button>
  90. <h1>My Workouts</h1>
  91. <div id="workoutList"></div>
  92. <button id="homeLogout" class="link">Log Out</button>
  93. </div>
  94. <div id="newWorkoutPage" class="page" style="display:none">
  95. <button id="newWorkoutBack" class="button">Cancel</button>
  96. <div id="newWorkoutInputs">
  97. <label>Name of Workout:
  98. <input
  99. id="newWorkoutName"
  100. type="text"
  101. placeholder="Name"
  102. >
  103. </label>
  104. </div>
  105. <button id="newWorkoutFinish" class="button">Create Workout</button>
  106. </div>
  107. <div id="workoutMenuPage", class="page" style="display:none">
  108. <h1 id="workoutMenuTitle"></h1>
  109. <div id="workoutMenuButtons"></div>
  110. <div id="resumeWorkoutContainer" style="display:none">
  111. <h2>You have a previously unfinished session for this workout. What would you like to to?</h2>
  112. <button id="resumeWorkoutCancel" class="button">Cancel</button>
  113. </div>
  114. </div>
  115. <div id="sessionPage" class="page" style="display:none">
  116. <h1 id="sessionExerciseName"></h1>
  117. <p id="previousSession"></p>
  118. <div id="sessionButtonBox">
  119. <button id="sessionNotesBtn" class="button">Notes</button>
  120. <button id="sessionAddSet" class="button">Add Set</button>
  121. </div>
  122. <button id="sessionExercisesBtn" class="button">Exercises</button>
  123. <div id="sessionExercisesList" style="display:none">
  124. <button id="closeExerciseList">X</button>
  125. </div>
  126. <div id="sessionNotesText" style="display:none">
  127. <textarea id="sessionTextArea"></textarea>
  128. <button id="sessionNotesDone" class="button">Done</button>
  129. </div>
  130. <div id="sessionSets"></div>
  131. <button id="nextSessionBtn" class="button">Next Exercise</button>
  132. <button id="finishSessionBtn" class="button">Finish Workout</button>
  133. <template id="weightSet">
  134. <div class="weightSet">
  135. <button class="weightSetDelete">X</button>
  136. <h3></h3>
  137. <label>Weight
  138. <input class="weightSetWeight" type="number" step="1">
  139. </label>
  140. <label>Reps
  141. <input class="weightSetReps" type="number" step="1">
  142. </label>
  143. </div>
  144. </template>
  145. </div>
  146. <div id="editWorkoutPage" class="page" style="display:none">
  147. <h1></h1>
  148. <div id="editWorkoutExercises"></div>
  149. <button id="editWorkoutBack" class="button">Cancel</button>
  150. <template id="editWorkoutExercise">
  151. <div class="editWorkoutExercise">
  152. <p></p>
  153. </div>
  154. </template>
  155. </div>
  156. <script src="/index.js"></script>
  157. </body>
  158. </html>