Upload files to "frontend/templates"

This commit is contained in:
Thierry 2026-04-01 23:27:38 +02:00
parent ff2413df86
commit 731b67e07a

View file

@ -10,6 +10,7 @@
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.13.3/dist/cdn.min.js"></script> <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.13.3/dist/cdn.min.js"></script>
</head> </head>
<body class="bg-base-200 min-h-screen"> <body class="bg-base-200 min-h-screen">
<!-- Navbar --> <!-- Navbar -->
<div class="navbar bg-base-100 shadow-md px-6 mb-2"> <div class="navbar bg-base-100 shadow-md px-6 mb-2">
<div class="flex-1"> <div class="flex-1">
@ -48,8 +49,12 @@
<!-- Colonne gauche : upload --> <!-- Colonne gauche : upload -->
<div class="lg:col-span-1 flex flex-col gap-4"> <div class="lg:col-span-1 flex flex-col gap-4">
<!-- Configuration Backend --> <!-- ✅ FIX 404 : la route est /backend-config (pas /admin/backend-config) -->
<div id="backend-config-panel" hx-get="/admin/backend-config" hx-target="#backend-config-panel" hx-swap="innerHTML"> <div id="backend-config-panel"
hx-get="/backend-config"
hx-target="#backend-config-panel"
hx-swap="innerHTML"
hx-trigger="load">
{% include "partials/backend_config.html" %} {% include "partials/backend_config.html" %}
</div> </div>
@ -74,14 +79,10 @@
required required
> >
<div class="flex items-center gap-3"> <div class="flex items-center gap-3">
<button <button type="submit" class="btn">
type="submit"
class="btn"
hx_indicator="#upload-spinner"
>
📤 Uploader & convertir 📤 Uploader & convertir
</button> </button>
<div id="upload-spinner" class="loading loading-spinner loading-sm"></div> <div id="upload-spinner" class="loading loading-spinner loading-sm htmx-indicator"></div>
</div> </div>
</form> </form>
</div> </div>
@ -90,8 +91,9 @@
<div id="upload-result"></div> <div id="upload-result"></div>
</div> </div>
<!-- Colonne droite : viewer --> <!-- Colonne droite : viewer + liste + crop -->
<div class="lg:col-span-2"> <div class="lg:col-span-2 flex flex-col gap-4">
<div <div
id="viewer-container" id="viewer-container"
class="card bg-base-100 shadow min-h-[600px] flex items-center justify-center" class="card bg-base-100 shadow min-h-[600px] flex items-center justify-center"
@ -100,17 +102,42 @@
Uploadez un fichier pour lancer la visualisation Uploadez un fichier pour lancer la visualisation
</p> </p>
</div> </div>
<div
id="viewer-panel" <!-- ✅ FIX DUPLICATION : viewer-panel charge au démarrage dans #cloud-list-body,
class="card bg-base-100 shadow mt-4" pas dans #viewer-panel lui-même (évite de réécrire la card entière) -->
<div id="viewer-panel" class="card bg-base-100 shadow">
<div class="card-body">
<h2 class="card-title text-base mb-2">🗂️ Nuages de points</h2>
<div class="flex justify-between items-center mb-4">
<button
type="button"
class="btn btn-ghost btn-sm"
hx-get="/viewer/list" hx-get="/viewer/list"
hx-target="#viewer-panel" hx-target="#cloud-list-body"
hx-swap="innerHTML"
hx-indicator="#cloud-list-spinner"
>
🔄 Actualiser
</button>
<span id="cloud-list-spinner" class="loading loading-spinner loading-sm htmx-indicator"></span>
</div>
<!-- ✅ Seul ce div est rechargé par HTMX -->
<div
id="cloud-list-body"
hx-get="/viewer/list"
hx-target="#cloud-list-body"
hx-swap="innerHTML" hx-swap="innerHTML"
hx-trigger="load" hx-trigger="load"
> >
{% include "partials/cloud_list.html" %} {% include "partials/cloud_list_body.html" %}
</div> </div>
</div> </div>
</div>
<!-- ✅ CROP PANEL : en dehors de viewer-panel, jamais écrasé par l'actualisation -->
<div id="crop-panel"></div>
</div>
</div> </div>
</div> </div>