71 lines
No EOL
2.1 KiB
HTML
71 lines
No EOL
2.1 KiB
HTML
<!-- upload_form.html — partial HTMX uniquement (sans navbar ni layout) -->
|
|
<!-- Injecté dans #main-content lors du clic sur le tab Upload -->
|
|
|
|
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6">
|
|
|
|
<!-- Colonne gauche : upload -->
|
|
<div class="lg:col-span-1 flex flex-col gap-4">
|
|
<!-- Configuration Backend -->
|
|
<div id="backend-config-panel" hx-get="/admin/backend-config" hx-target="this" hx-swap="innerHTML" hx-trigger="load">
|
|
{% include "partials/backend_config.html" %}
|
|
</div>
|
|
|
|
<div class="card bg-base-100 shadow">
|
|
<div class="card-body">
|
|
<h2 class="card-title text-base mb-2">📤 Upload</h2>
|
|
<p class="text-sm text-base-content/60 mb-3">
|
|
Formats acceptés : LAS, LAZ, PLY, XYZ, PTS
|
|
</p>
|
|
<form
|
|
hx-post="/upload"
|
|
hx-target="#upload-result"
|
|
hx-swap="innerHTML"
|
|
hx-encoding="multipart/form-data"
|
|
hx-indicator="#upload-spinner"
|
|
>
|
|
<input
|
|
type="file"
|
|
name="file"
|
|
accept=".las,.laz,.ply,.xyz,.pts"
|
|
class="file-input file-input-bordered w-full mb-4"
|
|
required
|
|
>
|
|
<div class="flex items-center gap-3">
|
|
<button
|
|
type="submit"
|
|
class="btn"
|
|
>
|
|
📤 Uploader & convertir
|
|
</button>
|
|
<div id="upload-spinner" class="loading loading-spinner loading-sm htmx-indicator"></div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="upload-result"></div>
|
|
</div>
|
|
|
|
<!-- Colonne droite : viewer -->
|
|
<div class="lg:col-span-2">
|
|
<div
|
|
id="viewer-container"
|
|
class="card bg-base-100 shadow min-h-[600px] flex items-center justify-center"
|
|
>
|
|
<p class="text-base-content/40 text-sm">
|
|
Uploadez un fichier pour lancer la visualisation
|
|
</p>
|
|
</div>
|
|
<div
|
|
id="viewer-panel"
|
|
class="card bg-base-100 shadow mt-4"
|
|
hx-get="/viewer/list"
|
|
hx-target="#cloud-list-body"
|
|
hx-swap="innerHTML"
|
|
hx-trigger="load"
|
|
>
|
|
{% include "partials/cloud_list.html" %}
|
|
</div>
|
|
</div>
|
|
|
|
</div> |