messages.html 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <!doctype html>
  2. <html lang="es" 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="navbar navbar-dark bg-dark box-shadow">
  12. <div class="container d-flex justify-content-between">
  13. <a href="/" class="navbar-brand d-flex align-items-center">
  14. <strong>Messages</strong>
  15. </a>
  16. <span class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#newMeetingModal" style="float:right;top:0;">New Message</span>
  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">Messages</h1>
  25. </div>
  26. </div>
  27. </section>
  28. <div class="album py-5 bg-light">
  29. <div class="container">
  30. <div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 g-3">
  31. <div class="col" th:each="msg : ${msgs}">
  32. <div class="card shadow-sm">
  33. <div class="card-body">
  34. <p class="card-text" th:text="${msg.id}">Message id</p>
  35. <p class="card-text" th:text="${msg.content}">Message text</p>
  36. <div class="d-flex justify-content-between align-items-center">
  37. <div class="btn-group">
  38. <a type="button" class="btn btn-sm btn-outline-secondary" th:attr="href='messages/remove/'+${msg.id}">Remove</a>
  39. </div>
  40. </div>
  41. </div>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. </main>
  48. <div class="modal fade" id="newMeetingModal" role="dialog" aria-labelledby="newMeetingModal" aria-hidden="true">
  49. <div class="modal-dialog modal-lg">
  50. <div class="modal-content">
  51. <div class="modal-header">
  52. <h5 class="modal-title">New Message</h5>
  53. <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
  54. <span aria-hidden="true">&times;</span>
  55. </button>
  56. </div>
  57. <div class="modal-body">
  58. <div class="container-fluid">
  59. <form id="newMeetingForm" enctype='multipart/form-data' th:action="@{/messages}" method="post" style="margin-top:25px;">
  60. <div class="form-group">
  61. <label>Content</label>
  62. <textarea class="form-control" name="content" cols="50" rows="5"></textarea>
  63. </div>
  64. </form>
  65. </div>
  66. </div>
  67. <div class="modal-footer">
  68. <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
  69. <button class="btn btn-success" type="submit" form="newMeetingForm">Confirm</button>
  70. </div>
  71. </div>
  72. </div>
  73. </div>
  74. <script src="/dist/js/bootstrap.bundle.min.js"></script>
  75. </body>
  76. </html>