detail.template.html.twig 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <!DOCTYPE html>
  2. <html lang="fr">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>{{ event.name }}</title>
  6. </head>
  7. <body style="margin:0; padding:0; background-color:#f0f4f8;">
  8. <center style="width:100%; background-color:#f0f4f8;">
  9. <table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
  10. <tr>
  11. <td align="center">
  12. <table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" style="background-color:#ffffff;">
  13. <!-- HEADER -->
  14. <tr>
  15. <td style="padding:20px; text-align:center; background-color:#0066cc; color:#ffffff; font-family:Arial, Helvetica, sans-serif;">
  16. <h1 style="margin:0; font-size:24px;">✨ {{ event.name }} ✨</h1>
  17. </td>
  18. </tr>
  19. <!-- ÉVÉNEMENT -->
  20. <tr>
  21. <td style="border-bottom:1px solid #e0e0e0;">
  22. <!-- Image -->
  23. <img src="{{ ('/events/' ~ (event.picture ?: 'placeholder.webp'))|base64img }}" alt="{{ event.name }}" width="600" height="200"
  24. style="display:block; border:0; margin:0; padding:0;">
  25. <!-- Contenu -->
  26. <table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
  27. <tr>
  28. <td style="padding:20px;">
  29. <!-- Panneau infos -->
  30. <table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
  31. <tr>
  32. <td style="background:#e6f2ff; padding:15px; border-radius:6px;">
  33. <p style="margin:8px 0 4px 0; font-size:14px; color:#004080; font-family:Arial, Helvetica, sans-serif;">
  34. <strong>Lieu :</strong> A COMPLETER
  35. </p>
  36. <p style="margin:4px 0; font-size:14px; color:#004080; font-family:Arial, Helvetica, sans-serif;">
  37. <strong>Date :</strong> du {{ event.startOn|date('d/m/Y \\à H:i') }} au {{ event.endOn|date('d/m/Y \\à H:i') }}
  38. </p>
  39. </td>
  40. </tr>
  41. </table>
  42. <!-- Texte -->
  43. <p style="margin:12px 0 16px 0; font-size:14px; color:#555555; line-height:1.5; font-family:Arial, Helvetica, sans-serif;">
  44. {{ event.description }}
  45. </p>
  46. {% set authors = [] %}
  47. {% for party in event.parties %}
  48. {% if party.gamemasterIsAuthor and party.gamemaster not in authors %}
  49. {% set authors = authors|merge([party.gamemaster]) %}
  50. {% endif %}
  51. {% endfor %}
  52. {% if authors|length > 0 %}
  53. <p style="margin:12px 0 16px 0; font-size:16px; color:#333333; line-height:1.5; font-family:Arial, Helvetica, sans-serif;"><strong>Les auteur(rice)s présent(e)s</strong></p>
  54. {% for gamemaster in authors %}
  55. <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"
  56. style="background:#f5f5f5; border-radius:6px; margin-bottom:16px;">
  57. <tr>
  58. <td valign="top" style="padding:12px;vertical-align: top;" width="128">
  59. <img src="{{ ('/gamemasters/' ~ (gamemaster.picture ?: 'placeholder.webp'))|base64img }}" alt="{{ gamemaster.preferedName }}" width="128" style="display:block; border-radius:6px;">
  60. </td>
  61. <td style="padding:12px; vertical-align:top;">
  62. <p style="margin:0; font-size:16px; color:#004080; font-family:Arial, Helvetica, sans-serif;">
  63. <strong>{{ gamemaster.preferedName }}</strong>
  64. </p>
  65. <p style="margin:6px 0 0 0; font-size:13px; color:#555555; line-height:1.4; font-family:Arial, Helvetica, sans-serif;">
  66. {{ gamemaster.description }}
  67. </p>
  68. <p style="margin:6px 0 0 0; font-size:13px; color:#555555; line-height:1.4; font-family:Arial, Helvetica, sans-serif;">
  69. Auteur(rice) de : {{ gamemaster.authorOfGames|map(game => game.name)|join(', ') }}
  70. </p>
  71. </td>
  72. </tr>
  73. </table>
  74. {% endfor %}
  75. {% endif %}
  76. <!-- GAMES LOOP -->
  77. {% for party in event.parties %}
  78. <tr>
  79. <td style="border-bottom:1px solid #e0e0e0;">
  80. <!-- Image -->
  81. <img src="{{ ('/games/' ~ (party.game.picture ?: 'placeholder.webp'))|base64img }}" alt="{{ party.game.name }}" width="600" height="200"
  82. style="display:block; border:0; margin:0; padding:0;">
  83. <!-- Contenu -->
  84. <table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
  85. <tr>
  86. <td style="padding:20px;">
  87. <!-- Texte -->
  88. <table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
  89. <tr>
  90. <td style="background:#e6f2ff; padding:15px; border-radius:6px;">
  91. <h2 style="margin:0; font-size:18px; font-family:Arial, Helvetica, sans-serif; color:#004080;">
  92. {{ party.game.name }}
  93. </h2>
  94. <p style="margin:4px 0; font-size:14px; color:#004080; font-family:Arial, Helvetica, sans-serif;">
  95. <strong>Date :</strong> du {{ party.startOn|date('d/m/Y \\à H:i') }} au {{ party.endOn|date('d/m/Y \\à H:i') }}
  96. </p>
  97. </td>
  98. </tr>
  99. </table>
  100. <h3 style="margin:0; font-size:14px; font-family:Arial, Helvetica, sans-serif; color:#004080;">Le jeu</h3>
  101. <p style="margin:12px 0 16px 0; font-size:14px; color:#555555; line-height:1.5; font-family:Arial, Helvetica, sans-serif;">
  102. {{ party.game.description }}
  103. </p>
  104. {% if party.description %}
  105. <h3 style="margin:0; font-size:14px; font-family:Arial, Helvetica, sans-serif; color:#004080;">La partie proposée</h3>
  106. <p style="margin:12px 0 16px 0; font-size:14px; color:#555555; line-height:1.5; font-family:Arial, Helvetica, sans-serif;">
  107. {{ party.description }}
  108. </p>
  109. {% endif %}
  110. </td>
  111. </tr>
  112. </table>
  113. {% endfor %}
  114. <!-- END GAMES LOOP -->
  115. <!-- Boutons -->
  116. <table role="presentation" cellpadding="0" cellspacing="0" border="0" align="center">
  117. <tr>
  118. <td align="center" style="border-radius:4px; background:#0066cc; padding:10px 18px;">
  119. <p style="margin:12px 0 16px 0; font-size:14px; color:#555555; line-height:1.5; font-family:Arial, Helvetica, sans-serif;">
  120. Vous pouvez vous inscrire dès à présent à nos animations !
  121. </p>
  122. <a href="{{ app_url ~ path('app_main_booking', {'id': event.id, 'view': 'pictures'})}}" style="font-size:14px; color:#ffffff; text-decoration:none; display:inline-block; font-family:Arial, Helvetica, sans-serif;">
  123. Voir le détail et m'inscrire
  124. </a>
  125. </td>
  126. <td style="width:10px;"></td>
  127. <td align="center" style="border-radius:4px; background:#0099cc; padding:10px 18px;">
  128. <a href="{{ app_url|replace({'https://' : 'webcal://'}) ~ path('app_main_ics', {'id': event.id}) }}" style="font-size:14px; color:#ffffff; text-decoration:none; display:inline-block; font-family:Arial, Helvetica, sans-serif;">Ajouter à mon agenda</a>
  129. </td>
  130. </tr>
  131. </table>
  132. </td>
  133. </tr>
  134. </td>
  135. </tr>
  136. <!-- FOOTER -->
  137. <tr>
  138. <td style="padding:20px; text-align:center; font-size:12px; font-family:Arial, Helvetica, sans-serif; color:#888888;">
  139. Réalisé à partir de ORGASSO : une application pour tous vos événements rôlistiques !
  140. </td>
  141. </tr>
  142. </table>
  143. </td>
  144. </tr>
  145. </table>
  146. </center>
  147. </body>
  148. </html>