Editor piantine: bozza automatica e pubblicazione con anteprima
- Il disegno è bozza e si salva da solo; i dati del territorio si modificano dall'editor e valgono subito nel gestionale. - Un solo "Pubblica" (immagine + PDF), uguale in editor e gestione: anteprima preparata in coda su disco privato, conferma obbligatoria, rifiutata se nel frattempo è cambiato qualcosa di stampato. - Stati Bozza / Pubblicata / Modifiche da pubblicare, calcolati sull'impronta di confine e dati stampati e sul PDF in uso. - Gestione riscritta: stato, ricerca, filtri, storico paginato. - Editor ridisegnato a tre zone, utilizzabile anche su tablet e telefono. - Avvisi via evento (trait Avvisa + <x-avvisi>). - .gitattributes: script shell sempre LF, altrimenti il container locale su Windows non parte. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -212,6 +212,11 @@
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Gli avvisi delle azioni Livewire (trait Avvisa). I flash della
|
||||
richiesta restano nella fascia in testa al contenuto, qui sopra. --}}
|
||||
<x-avvisi />
|
||||
|
||||
@livewireScripts
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
Serve a una cosa sola: la mappa dell'editor delle piantine, che deve
|
||||
prendersi tutta la finestra. I messaggi non spingono il contenuto verso il
|
||||
basso come nelle altre pagine — comparirebbe una fascia che sposta la mappa
|
||||
mentre ci si sta disegnando sopra — ma galleggiano sopra, in alto al centro,
|
||||
e si tolgono da soli.
|
||||
mentre ci si sta disegnando sopra — ma galleggiano sopra, in alto al centro
|
||||
(<x-avvisi>, che raccoglie anche quelli lanciati dalle azioni Livewire).
|
||||
--}}
|
||||
<html lang="it" class="h-full tm-app">
|
||||
<head>
|
||||
@@ -22,33 +22,7 @@
|
||||
{{ $slot }}
|
||||
</main>
|
||||
|
||||
<div class="tm-avvisi" role="status" aria-live="polite">
|
||||
@if (session()->has('success'))
|
||||
<div x-data="{ mostra: true }" x-show="mostra" x-cloak
|
||||
x-init="setTimeout(() => mostra = false, 4500)"
|
||||
x-transition:enter="transition ease-out duration-200"
|
||||
x-transition:enter-start="opacity-0 -translate-y-2"
|
||||
x-transition:leave="transition ease-in duration-200"
|
||||
x-transition:leave-end="opacity-0"
|
||||
class="tm-avviso tm-avviso-ok">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
|
||||
<span>{{ session('success') }}</span>
|
||||
<button type="button" @click="mostra = false" class="tm-avviso-chiudi" aria-label="Chiudi il messaggio">×</button>
|
||||
</div>
|
||||
@endif
|
||||
@if (session()->has('error'))
|
||||
<div x-data="{ mostra: true }" x-show="mostra" x-cloak
|
||||
x-transition:enter="transition ease-out duration-200"
|
||||
x-transition:enter-start="opacity-0 -translate-y-2"
|
||||
x-transition:leave="transition ease-in duration-200"
|
||||
x-transition:leave-end="opacity-0"
|
||||
class="tm-avviso tm-avviso-errore">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>
|
||||
<span>{{ session('error') }}</span>
|
||||
<button type="button" @click="mostra = false" class="tm-avviso-chiudi" aria-label="Chiudi il messaggio">×</button>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<x-avvisi :sessione="true" />
|
||||
|
||||
@livewireScripts
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user