add_account.html 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <!-- templates/add_account.html -->
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Add Account - KTVManager</title>
  8. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
  9. <style>
  10. /* Hide the spinner by default */
  11. #loadingSpinner {
  12. display: none;
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <!-- Navbar -->
  18. <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  19. <a class="navbar-brand" href="/">KTVManager</a>
  20. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
  21. <span class="navbar-toggler-icon"></span>
  22. </button>
  23. <div class="collapse navbar-collapse" id="navbarNav">
  24. <ul class="navbar-nav ml-auto">
  25. <li class="nav-item">
  26. <a class="nav-link" href="/">Home</a>
  27. </li>
  28. <li class="nav-item">
  29. <a class="nav-link" href="/accounts">Accounts</a>
  30. </li>
  31. <li class="nav-item">
  32. <a class="nav-link" href="/urls">URLs</a>
  33. </li>
  34. </ul>
  35. </div>
  36. </nav>
  37. <!-- Sub-navigation for Accounts -->
  38. <div class="bg-light py-2">
  39. <div class="container">
  40. <ul class="nav nav-pills">
  41. <li class="nav-item">
  42. <a class="nav-link" href="/accounts">List Accounts</a>
  43. </li>
  44. <li class="nav-item">
  45. <a class="nav-link active" href="/accounts/add">Add Account</a>
  46. </li>
  47. </ul>
  48. </div>
  49. </div>
  50. <!-- Main Content -->
  51. <div class="container mt-5">
  52. <h1>Add Account</h1>
  53. <br>
  54. <form action="/accounts/add" method="POST" onsubmit="showLoading()">
  55. <div class="form-group">
  56. <label for="username">Username</label>
  57. <input type="text" class="form-control" id="username" name="username" required>
  58. </div>
  59. <div class="form-group">
  60. <label for="password">Password</label>
  61. <input type="text" class="form-control" id="password" name="password" required>
  62. </div>
  63. <div class="form-group">
  64. <label for="stream">Stream Name</label>
  65. <input type="text" class="form-control" id="stream" name="stream" required>
  66. </div>
  67. <button type="submit" class="btn btn-primary" id="submitButton">
  68. <span class="spinner-border spinner-border-sm" id="loadingSpinner" role="status" aria-hidden="true"></span>
  69. <span id="buttonText">Add Account</span>
  70. </button>
  71. </form>
  72. </div>
  73. <footer class="bg-dark text-white text-center py-3 mt-5">
  74. <p>&copy; 2024 KTV Manager | All rights reserved</p>
  75. </footer>
  76. <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
  77. <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.0.7/dist/umd/popper.min.js"></script>
  78. <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
  79. <script>
  80. function showLoading() {
  81. // Disable the button to prevent multiple submissions
  82. document.getElementById("submitButton").disabled = true;
  83. // Show spinner and change button text
  84. document.getElementById("loadingSpinner").style.display = "inline-block";
  85. document.getElementById("buttonText").textContent = "Working...";
  86. }
  87. </script>
  88. </body>
  89. </html>