Pictures.html.twig 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. {# Template pour les vignettes #}
  2. <div class="block">
  3. <div class="fixed-grid has-3-cols-fullhd has-3-cols-widescreen has-2-cols-desktop has-2-cols-tablet has-1-cols-mobile">
  4. <div class="grid is-col-min-12">
  5. {% for party in event.getParties|sort((a, b) => a.startOn <=> b.startOn) %}
  6. <div class="cell{% if party.getSeatsLeft < 1 %} planning-cell-game-isfull{% endif %}">
  7. <div class="card">
  8. <div class="card-image" data-starton='{{ party.startOn|date('Ymdhi', app_timezone) }}' data-game='{{ party.game.slug }}' data-gamemaster='{{ party.gamemaster.slug }}' data-genre='{{ party.game.genre|map(p => p.slug)|join('|') }}'>
  9. {% if party.getSeatsLeft > 0 %}<a href="{{ path(pathLink, {id: party.getSlots.first.id}) }}" class="open-modal">{% endif %}
  10. <figure class="image is-3by1">
  11. {% if party.game.picture %}
  12. <img src="/images/games/{{ party.game.picture }}" />
  13. {% else %}
  14. <img src="/images/games/placeholder.webp" />
  15. {% endif %}
  16. <div class="overlay-tags">
  17. {% if party.getSeatsLeft > 0 %}
  18. <strong class="tag is-dark m-1 is-rounded" title="Places libres / places maximum">Places : {{ party.getSeatsLeft }}/{{ party.getMaxParticipants }}</strong>
  19. {% else %}
  20. <strong class="tag is-danger m-1 is-rounded">Complet !</strong>
  21. {% endif %}
  22. {% if party.getGame.getAgeRecommendation %}<span class="tag m-1 is-primary is-rounded" title="{{ party.getGame.getAgeRecommendationLabel }}">{{ party.getGame.getAgeRecommendationLabel }}</span>{% endif %}
  23. {% if party.gamemasterIsAuthor %}<span class="tag is-warning m-1 is-rounded">partie animée par l'auteur</span>{% endif %}
  24. </div>
  25. </figure>
  26. {% if party.getSeatsLeft > 0 %}</a>{% endif %}
  27. </div>
  28. <div class="card-content">
  29. <div class="content ">
  30. <div class="media">
  31. <div class="media-left">
  32. <figure class="image is-48x48">
  33. {% if party.gamemaster.picture %}
  34. <img class="is-rounded" src="/images/gamemasters/{{ party.gamemaster.picture }}" />
  35. {% else %}
  36. <twig:ux:icon name="bi:person-fill"/>
  37. {% endif %}
  38. </figure>
  39. </div>
  40. <div class="media-content">
  41. <small class="has-text-grey-darker">animée par {{ party.gamemaster.preferedName }}</small><br/>
  42. <strong class="title is-4">{{ party.game.name }}</strong>
  43. </div>
  44. </div>
  45. {% for genre in party.game.genre %}<span class="tag is-info m-1">{{ genre.genre }}</span>{% endfor %}
  46. </div>
  47. </div>
  48. <div class="card-footer">
  49. <div class="card-footer-item">
  50. <small>Le {{ party.startOn|date('d/m/Y \\d\\e H:i', app_timezone) }} à {{ party.endOn|date('H:i', app_timezone) }}</small>
  51. </div>
  52. </div>
  53. </div>
  54. </div>
  55. {% endfor %}
  56. </div>
  57. </div>
  58. </div>