index.html 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <!-- templates/index.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>KTV Manager</title>
  8. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
  9. <link rel="manifest" href="{{ url_for('static', filename='manifest.json') }}">
  10. </head>
  11. <body>
  12. <!-- Navbar -->
  13. <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  14. <a class="navbar-brand" href="/">KTVManager</a>
  15. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
  16. <span class="navbar-toggler-icon"></span>
  17. </button>
  18. <div class="collapse navbar-collapse" id="navbarNav">
  19. <ul class="navbar-nav ml-auto">
  20. <li class="nav-item">
  21. <a class="nav-link" href="/">Home</a>
  22. </li>
  23. <li class="nav-item">
  24. <a class="nav-link" href="/accounts">Accounts</a>
  25. </li>
  26. <li class="nav-item">
  27. <a class="nav-link" href="/urls">URLs</a>
  28. </li>
  29. </ul>
  30. </div>
  31. </nav>
  32. <!-- Main Content -->
  33. <div class="container mt-5">
  34. <h1>Welcome to KTV Manager</h1>
  35. <!-- Login Form -->
  36. <form action="/login" method="post" class="mt-3">
  37. <div class="form-group">
  38. <label for="username">Username:</label>
  39. <input type="text" class="form-control" id="username" name="username" required>
  40. </div>
  41. <div class="form-group">
  42. <label for="password">Password:</label>
  43. <input type="password" class="form-control" id="password" name="password" required>
  44. </div>
  45. <button type="submit" class="btn btn-primary">Login</button>
  46. {% if error %}
  47. <div class="alert alert-danger mt-3">{{ error }}</div>
  48. {% endif %}
  49. </form>
  50. </div>
  51. <footer class="bg-dark text-white text-center py-3 mt-5">
  52. <p>&copy; 2024 KTV Manager | All rights reserved</p>
  53. </footer>
  54. <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
  55. <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.0.7/dist/umd/popper.min.js"></script>
  56. <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
  57. <script>
  58. if ('serviceWorker' in navigator) {
  59. window.addEventListener('load', function() {
  60. navigator.serviceWorker.register("{{ url_for('static', filename='service-worker.js') }}")
  61. .then(function(registration) {
  62. console.log('Service Worker registered with scope: ', registration.scope);
  63. })
  64. .catch(function(error) {
  65. console.log('Service Worker registration failed: ', error);
  66. });
  67. });
  68. }
  69. </script>
  70. </body>
  71. </html>