98 lines
No EOL
3 KiB
HTML
98 lines
No EOL
3 KiB
HTML
{% load static %}
|
|
{% load i18n %}
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
{% block head %}
|
|
|
|
<title>{% translate "Contrôles" %}</title>
|
|
|
|
{% endblock %}
|
|
|
|
<link rel="manifest" href="{% static 'common/controls.webmanifest' %}" crossorigin="use-credentials">
|
|
|
|
<!-- Bootstrap 5.3.3 (local) -->
|
|
<link href="{% static 'common/bootstrap.min.css' %}" rel="stylesheet">
|
|
<!-- MapLibre GL 5.7.0 (local) -->
|
|
<link href="{% static 'common/maplibre-gl.css' %}" rel="stylesheet" />
|
|
<!-- Bootstrap Icons 1.11.3 (local) -->
|
|
<link href="{% static 'common/bootstrap-icons.min.css' %}" rel="stylesheet">
|
|
|
|
<!-- Custom CSS -->
|
|
<style>
|
|
body {
|
|
padding-top: 70px; /* tenir conpte de la top navbar */
|
|
}
|
|
</style>
|
|
|
|
{% block custom_style %}
|
|
{% endblock %}
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<!-- Top Navbar -->
|
|
<nav class="navbar navbar-light bg-white shadow-sm fixed-top">
|
|
<div class="container-fluid">
|
|
{% block top_navbar %}
|
|
{% endblock %}
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Contenu principal -->
|
|
<div class="container mt-3">
|
|
|
|
{% block content %}
|
|
{% endblock %}
|
|
|
|
</div>
|
|
|
|
<!-- Modals et autres éléments hors conteneur -->
|
|
{% block modals %}
|
|
{% endblock %}
|
|
|
|
{% block buttom_navbar %}
|
|
<!-- Navbar fixée en bas -->
|
|
<nav class="navbar fixed-bottom navbar-light bg-light">
|
|
<div class="container-fluid d-flex justify-content-between w-100">
|
|
<a href="{% url 'controls:controls_index' %}?v=mobile" class="navbar-brand flex-grow-1 text-center">
|
|
<i class="bi bi-list-task"></i> {% translate "Contrôles" %}
|
|
</a>
|
|
<a href="{% url 'controls:controls_projects' %}?v=mobile" class="navbar-brand flex-grow-1 text-center">
|
|
<i class="bi bi-folder"></i> {% translate "Projets" %}
|
|
</a>
|
|
<!--
|
|
<a href="{% url 'interventions:interventions_index' %}?v=mobile" class="navbar-brand flex-grow-1 text-center">
|
|
<i class="bi bi-file-earmark-text"></i> Interventions
|
|
</a>
|
|
-->
|
|
</div>
|
|
</nav>
|
|
{% endblock %}
|
|
|
|
<!-- Bootstrap 5.3.3 bundle (includes Popper) (local) -->
|
|
<script src="{% static 'common/bootstrap.bundle.min.js' %}"></script>
|
|
<!-- MapLibre GL 5.7.0 (local) -->
|
|
<script src="{% static 'common/maplibre-gl.js' %}"></script>
|
|
|
|
{% block script %}
|
|
{% endblock %}
|
|
|
|
<script>
|
|
// Enregistrer le service worker des contrôles (scope /mobile/controls/)
|
|
if ('serviceWorker' in navigator) {
|
|
window.addEventListener('load', () => {
|
|
navigator.serviceWorker
|
|
.register('/mobile/controls/service-worker.js')
|
|
.then(() => {})
|
|
.catch((err) => console.error('Controls SW registration failed:', err));
|
|
});
|
|
}
|
|
</script>
|
|
|
|
</body>
|
|
</html> |