index.html 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <!doctype html>
  2. <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <title>Meetup</title>
  7. <link href="/dist/css/bootstrap.min.css" rel="stylesheet">
  8. </head>
  9. <body>
  10. <header>
  11. <div class="collapse bg-dark" id="navbarHeader">
  12. <div class="container">
  13. </div>
  14. </div>
  15. <div class="navbar navbar-dark bg-dark shadow-sm">
  16. <div class="container">
  17. </div>
  18. </div>
  19. </header>
  20. <main>
  21. <section class="py-5 text-center container">
  22. <div class="row py-lg-5">
  23. <div class="col-lg-6 col-md-8 mx-auto">
  24. <h1 class="fw-light">Meetup</h1>
  25. <p>
  26. <span class="btn btn-primary my-2" data-bs-toggle="modal" data-bs-target="#newMeetingModal">Add Meeting</span>
  27. </p>
  28. </div>
  29. </div>
  30. </section>
  31. <div class="album py-5 bg-light">
  32. <div class="container">
  33. <div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 g-3">
  34. <div class="col" th:each="item : ${meetings}">
  35. <div class="card shadow-sm">
  36. <div class="card-body">
  37. <p class="card-text" th:text="${item.subject}">Meeting subject</p>
  38. <p class="card-text" th:text="${item.date}">Meeting date</p>
  39. <div class="d-flex justify-content-between align-items-center">
  40. <div class="btn-group">
  41. <a type="button" class="btn btn-sm btn-outline-secondary" th:href="@{'/remove/' + ${item.id}}">Remove</a>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. </main>
  51. <div class="modal fade" id="newMeetingModal" role="dialog" aria-labelledby="newMeetingModal" aria-hidden="true">
  52. <div class="modal-dialog modal-lg">
  53. <div class="modal-content">
  54. <div class="modal-header">
  55. <h5 class="modal-title">New Meeting</h5>
  56. <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
  57. <span aria-hidden="true">&times;</span>
  58. </button>
  59. </div>
  60. <div class="modal-body">
  61. <div class="container-fluid">
  62. <form id="newMeetingForm" enctype='multipart/form-data' method="POST" action="/" style="margin-top:25px;">
  63. <div class="form-group">
  64. <label>Subject</label>
  65. <input class="form-control" type="text" value="" name="subject">
  66. </div>
  67. <div class="form-group">
  68. <label>Date</label>
  69. <input class="form-control" type="text" value="" name="subject" placeholder="DD/MM/YYY HH:MM">
  70. </div>
  71. </form>
  72. </div>
  73. </div>
  74. <div class="modal-footer">
  75. <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
  76. <button class="btn btn-success" type="submit" form="newMeetingForm">Confirm</button>
  77. </div>
  78. </div>
  79. </div>
  80. </div>
  81. <script src="/dist/js/bootstrap.bundle.min.js"></script>
  82. </body>
  83. </html>