|
@@ -9,191 +9,20 @@
|
|
|
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
|
|
|
</head>
|
|
|
<body style="padding-top:5rem;padding-bottom:4rem;">
|
|
|
- {% for type, messages in app.session.flashBag.all %}
|
|
|
- {% for message in messages %}
|
|
|
- {% if type == 'error' %}{% set type = 'danger' %} {% endif %}
|
|
|
- <div class="position-fixed top-5 end-0 p-2" style="z-index: 11">
|
|
|
- <div id="liveToast" class="toast bg-gradient bg-{{ type }} text-white" role="alert" aria-live="assertive" aria-atomic="true" {{ stimulus_controller('toast') }}>
|
|
|
- <div class="toast-header">
|
|
|
- <strong class="me-auto">Info</strong>
|
|
|
- <button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
|
|
|
- </div>
|
|
|
- <div class="toast-body">
|
|
|
- {{ message }}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- {% endfor %}
|
|
|
- {% endfor %}
|
|
|
- <nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
|
|
|
- <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
|
|
- <span class="navbar-toggler-icon"></span>
|
|
|
- </button>
|
|
|
- <a class="navbar-brand" href="{{ path('videotheque_liste') }}">Videothèque</a>
|
|
|
- <div class="collapse navbar-collapse" id="navbarSupportedContent">
|
|
|
- {% if not is_granted('IS_AUTHENTICATED_REMEMBERED') %}
|
|
|
- <ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
|
|
- <li class="nav-item">
|
|
|
- <a class="nav-link
|
|
|
- {% if app.request.attributes.get('_route') == 'videotheque_liste' %}active{% endif %}"
|
|
|
- href="{{ path('videotheque_liste') }}">Liste des films</a>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- {% endif %}
|
|
|
- {% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
|
|
|
- <ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
|
|
- <li class="nav-item">
|
|
|
- <a class="nav-link
|
|
|
- {% if app.request.attributes.get('_route') == 'videothequepersonnelle_maliste' %}active{% endif %}"
|
|
|
- href="{{ path('videothequepersonnelle_maliste') }}">Ma liste à voir</a>
|
|
|
- </li>
|
|
|
- <li class="nav-item">
|
|
|
- <a class="nav-link
|
|
|
- {% if app.request.attributes.get('_route') == 'videotheque_liste' %}active{% endif %}"
|
|
|
- href="{{ path('videotheque_liste') }}">Films</a>
|
|
|
- </li>
|
|
|
- <li class="nav-item">
|
|
|
- <a class="nav-link
|
|
|
- {% if app.request.attributes.get('_route') == 'realisateur_liste' %}active{% endif %}"
|
|
|
- href="{{ path('realisateur_liste') }}">Réalisateurs</a>
|
|
|
- </li>
|
|
|
- {% if is_granted('ROLE_MODERATEUR') %}
|
|
|
- <ul class="navbar-nav">
|
|
|
- <li class="nav-item dropdown">
|
|
|
- <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownAdmin" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
|
- Administration
|
|
|
- </a>
|
|
|
- <div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
|
|
- {% if is_granted('ROLE_ADMIN') %}
|
|
|
- <a class="dropdown-item" href="{{ path('admin_index') }}">Utilisateurs</a>
|
|
|
- <div class="dropdown-divider"></div>
|
|
|
- {% endif %}
|
|
|
- <a class="dropdown-item" href="{{ path('genre_liste') }}">Liste des genres</a>
|
|
|
- </div>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- {% endif %}
|
|
|
- </ul>
|
|
|
- {% endif %}
|
|
|
-
|
|
|
- <ul class="navbar-nav">
|
|
|
- <li class="nav-item">
|
|
|
- <a href="#" class="nav-link" data-bs-toggle="modal" data-bs-target="#modalWindow"><i class="fa fa-info-circle fa-lg text-light nav-link" aria-hidden="true"></i></a>
|
|
|
- <li>
|
|
|
- </ul>
|
|
|
- <ul class="navbar-nav">
|
|
|
- <li class="nav-item dropdown">
|
|
|
- <a class="nav-link dropdown-toggle" href="#" id="navbarHelpDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
|
- <i class="fa fa-question-circle fa-lg"></i>
|
|
|
- </a>
|
|
|
- {% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
|
|
|
- <div class="dropdown-menu dropdown-menu-end p-4" aria-labelledby="navbarHelpDropdown" style="width: 400px;">
|
|
|
- <p><i class="fa fa-bookmark fa-lg text-primary"></i> : Films que l'on souhaite voir. On les retrouve dans "Liste de mes films"</p>
|
|
|
- <p><i class="fa fa-eye fa-lg text-success"></i> : Film qu'on a vu</p>
|
|
|
- <p><i class="fa fa-eye-slash fa-lg text-secondary"></i> : Film qu'on n'a pas vu</p>
|
|
|
- </div>
|
|
|
- {% endif %}
|
|
|
- </li>
|
|
|
+ <header>
|
|
|
+ {% include 'modal.html.twig' %}
|
|
|
+ {% include 'flashbag.html.twig' %}
|
|
|
+ {% include 'navbar.html.twig' %}
|
|
|
+ </header>
|
|
|
|
|
|
- </ul>
|
|
|
- <ul class="navbar-nav">
|
|
|
- <li class="nav-item dropdown">
|
|
|
- <a class="nav-link dropdown-toggle" href="#" id="navbarBellDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
|
- <i class="fa fa-bell fa-lg"></i>
|
|
|
- </a>
|
|
|
- <div class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarBellDropdown" style="width: 400px;">
|
|
|
- <div class="list-group px-4 py-3">
|
|
|
- {{ afficheNouveautes() | raw }}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
-
|
|
|
- {#{% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}#}
|
|
|
-
|
|
|
- {#{% endif %}#}
|
|
|
- {% if not is_granted('IS_AUTHENTICATED_REMEMBERED') %}
|
|
|
- <ul class="navbar-nav">
|
|
|
- <li class="nav-item"><a class="nav-link" href="{{ path('app_login') }}">Se connecter</a></li>
|
|
|
- </ul>
|
|
|
- {% else %}
|
|
|
- <ul class="navbar-nav">
|
|
|
- <li class="nav-item dropdown">
|
|
|
- <a class="nav-link dropdown-toggle" href="#" id="navbarUserDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
|
- {{ app.user.nomComplet }}
|
|
|
- </a>
|
|
|
- <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarUserDropdown">
|
|
|
- <a class="dropdown-item" href="{{ path('user_profil') }}">Profil</a>
|
|
|
- <div class="dropdown-divider"></div>
|
|
|
- <a class="dropdown-item" href="{{ path('app_logout') }}">Se déconnecter</a>
|
|
|
- </div>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- {% endif %}
|
|
|
- </div>
|
|
|
- </nav>
|
|
|
- <div>
|
|
|
- <header>
|
|
|
- <div class="grid">
|
|
|
- <div class="g-col-12">
|
|
|
- <h1>{% block titre %}{% endblock %}</h1>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- Modal -->
|
|
|
- <div class="modal fade" id="modalWindow" tabindex="-1" role="dialog" aria-labelledby="ModalWindow" aria-hidden="true">
|
|
|
- <div class="modal-dialog modal-dialog-centered" role="document">
|
|
|
- <div class="modal-content">
|
|
|
- <div class="modal-header">
|
|
|
- <h5 class="modal-title" id="information">Vidéothèque partagée</h5>
|
|
|
- <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close">
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- <div class="modal-body">
|
|
|
- <p>
|
|
|
- Ceci est une vidéothèque partagée entre les copains.
|
|
|
- Le but, c'est de poser les films qu'on vient de voir où qu'on souhaite voir rapidement et donner des idées aux copains quand ils ne savent plus quoi regarder.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- On n'est pas là pour recréer IMDB ou Allociné, c'est plutôt une liste de films à voir.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- D'ailleurs, le but, c'est de cocher les boutons
|
|
|
- <i class="fa fa-eye fa-lg text-success"></i> ou <i class="fa fa-eye-slash fa-lg text-secondary"></i>
|
|
|
- pour que les autres sachent qui a vu quoi et le bouton <i class="fa fa-bookmark text-primary"></i>
|
|
|
- pour suivre un film, ça permet de trier les films dans l'onglet "Ma liste de films".
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- Bon partage à tous !
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- La bise dans vous.
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- <div class="modal-footer">
|
|
|
- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <h1>{% block titre %}{% endblock %}</h1>
|
|
|
+
|
|
|
+ <main role="main">
|
|
|
+ {% block body %}{% endblock %}
|
|
|
+ </main>
|
|
|
|
|
|
- </header>
|
|
|
-
|
|
|
-
|
|
|
- <main role="main">
|
|
|
- {% block body %}{% endblock %}
|
|
|
- </main>
|
|
|
-
|
|
|
-
|
|
|
- <footer class="footer">
|
|
|
- <div class="text-center fixed-bottom bg-white">
|
|
|
- <span class="text-muted small">Cette application est développée en Symfony 5.3.3 - Code source disponible sur <a target="_blank" href="https://gogs.fdlibre.eu/sangfroid/films-symfony-4-2">Gogs</a><br>Licence <a target="_blank" href="http://www.wtfpl.net">WTFLP</a></span>
|
|
|
- </div>
|
|
|
-
|
|
|
- {% block footer %}
|
|
|
- {% endblock %}
|
|
|
- </footer>
|
|
|
- </div>
|
|
|
-
|
|
|
+ {% include 'footer.html.twig' %}
|
|
|
+
|
|
|
{{ encore_entry_script_tags('app') }}
|
|
|
{% block javascripts %}{% endblock %}
|
|
|
</body>
|