index.html 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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="icon" type="image/png" href="{{ url_for('static', filename='favicon-96x96.png') }}" sizes="96x96" />
  10. <link rel="icon" type="image/svg+xml" href="{{ url_for('static', filename='favicon.svg') }}" />
  11. <link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}" />
  12. <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}" />
  13. <meta name="apple-mobile-web-app-title" content="kTvManager" />
  14. <link rel="manifest" href="{{ url_for('static', filename='site.webmanifest') }}" />
  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. <!-- Main Content -->
  38. <div class="container mt-5">
  39. <h1>Welcome to KTV Manager</h1>
  40. <!-- Login Form -->
  41. <form action="/login" method="post" class="mt-3">
  42. <div class="form-group">
  43. <label for="username">Username:</label>
  44. <input type="text" class="form-control" id="username" name="username" required>
  45. </div>
  46. <div class="form-group">
  47. <label for="password">Password:</label>
  48. <input type="password" class="form-control" id="password" name="password" required>
  49. </div>
  50. <button type="submit" class="btn btn-primary">Login</button>
  51. {% if error %}
  52. <div class="alert alert-danger mt-3">{{ error }}</div>
  53. {% endif %}
  54. </form>
  55. </div>
  56. <footer class="bg-dark text-white text-center py-3 mt-5">
  57. <p>&copy; 2024 KTV Manager | All rights reserved</p>
  58. </footer>
  59. <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
  60. <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.0.7/dist/umd/popper.min.js"></script>
  61. <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
  62. <script>
  63. if ('serviceWorker' in navigator) {
  64. navigator.serviceWorker.register('{{ url_for("static", filename="service-worker.js") }}')
  65. // .then(reg => {
  66. // console.log('Service worker:', reg);
  67. // .catch(err => {
  68. // console.log('Service worker:', err);
  69. // });
  70. }
  71. </script>
  72. </body>
  73. </html>