Prima: Come creare un evento?
Per importare un modello predefinito in un evento, l'utente seleziona uno o più modelli predefiniti dalla finestra della libreria "Aggiungi modelli", aperta con il pulsante "Aggiungi altro" nella pagina Templates (Modelli), e preme "Aggiungi". Nel codice REALE questa è l'UNICA via di importazione disponibile per l'utente (aggiunta dalla libreria predefinita). Sebbene nel codice siano definiti metodi di importazione da file (.aktemplate) (TemplateFileService.ImportFromFileAsync/ExportToFileAsync) e un caricatore di modelli in bundle (LoadBundledTemplateJsonAsync), NESSUNA UI li richiama — quindi la funzione di importazione da file al momento NON ESISTE nell'interfaccia.
- L'utente deve aver effettuato l'accesso e deve essere selezionato un evento — se currentEventInfo è null, AddTemplateToCurrentEvent fallisce silenziosamente (RepositoryResponse.Success=false).
- Nella libreria (AllLocalPhotoTemplates / AllLocalVideoGifTemplates) devono essere presenti modelli predefiniti; questo elenco viene popolato dal server/CloudSync e dai modelli predefiniti, se è vuoto nella finestra viene mostrato Nessun modello ancora.
Passo dopo passo
Passo 1 · Apri la pagina Modelli
Settings → Templates (/templates)
Vai alla pagina Modelli (Templates) dalle Impostazioni. La pagina si apre sulla route /templates e in alto sono visibili due schede (Foto, Video & GIF) insieme alla sezione Modelli attivi.
🔎 Elementi sullo schermo: Schede: Foto, Video & GIF; titolo Modelli attivi + badge contatore

Passo 2 · Seleziona la scheda corretta
Templates (/templates) → barra delle schede
Scegli la scheda in base al tipo di modello da importare: Foto per l'output fotografico, Video & GIF per l'output video/GIF. La scheda selezionata determina l'elenco della libreria (foto o video) mostrato nella finestra.
🔎 Elementi sullo schermo: scheda Foto, scheda Video & GIF
Passo 3 · Premi il pulsante Aggiungi altro
Templates (/templates) → azioni dell'intestazione della sezione
Fai clic sul pulsante Aggiungi altro a destra dell'intestazione della sezione. Questo richiama OpenBrowseModal() nel VM dell'editor e apre la finestra della libreria 'Aggiungi modelli' (libreria foto dalla scheda foto, libreria video dalla scheda video).
🔎 Elementi sullo schermo: pulsante Aggiungi altro (btn-outline); accanto il pulsante Crea nuovo (viola)
Passo 4 · Esplora la finestra della libreria Aggiungi modelli
BrowseLibraryModal — finestra Aggiungi modelli
Esamina le schede dei modelli predefiniti nella finestra Aggiungi modelli che si apre. Le schede vengono disposte in layout masonry; scorrendo verso il basso ne vengono caricate altre a pagine di 30 (infinite scroll). I modelli già aggiunti all'evento sono mostrati con il badge Aggiunto e non sono selezionabili.
🔎 Elementi sullo schermo: titolo della finestra Aggiungi modelli, sottotitolo Seleziona i modelli da aggiungere; casella di spunta sulle schede e badge Aggiunto; su ogni scheda nome + formato (OutputSize.DisplayName)

Passo 5 · Seleziona uno o più modelli
BrowseLibraryModal — griglia delle schede
Fai clic sulla/e scheda/e del modello che vuoi aggiungere. Ogni clic attiva/disattiva la selezione della scheda (la casella di spunta si riempie di viola). Le schede con lo stato Aggiunto non sono cliccabili (vengono saltate in OnCardClick). Il numero sul pulsante Aggiungi in basso indica solo il numero di schede selezionate non ancora aggiunte.
🔎 Elementi sullo schermo: casella di spunta viola sulla scheda (browse-selected), pulsante 'Aggiungi (N)' nel footer

Passo 6 · Importa nell'evento con il pulsante Aggiungi
BrowseLibraryModal — footer
Premi il pulsante 'Aggiungi (N)' nel footer. Per ogni modello selezionato viene richiamato AddTemplateToCurrentEvent(templateLocalId); questo crea una junction (TemplateEventJunction) tra il modello e l'evento corrente e collega il modello all'evento. La selezione viene azzerata e la finestra si chiude.
🔎 Elementi sullo schermo: pulsante 'Aggiungi (N)' (btn-update-now); pulsante Annulla; a sinistra il pulsante rosso 'Elimina (N)'
Passo 7 · (Passo intermedio) Popup di suggerimento per attivare la modalità
Finestra di conferma (BlazorUserDialogService)
Se la modalità di output del modello aggiunto (Foto/GIF/Video) è disattivata nell'evento, dopo la chiusura della finestra compare il popup di conferma 'attivare la modalità?' (TemplateModeSuggestionService.CheckAndOfferAsync). Se scegli 'Sì', l'impostazione corrispondente (es. PhotoOutputFormatActive / GifOutputFormatActive / VideoOutputFormatActive) viene attivata; se scegli No non cambia nulla. Un modello foto multi-fotogramma (2+) può inoltre suggerire la modalità GIF.
🔎 Elementi sullo schermo: titolo della finestra informativa (es. 'EnableGifModeTitle'), pulsanti Sì / No

Passo 8 · Il modello aggiunto compare nella griglia dei Modelli attivi
Templates (/templates) → griglia Modelli attivi
La finestra si chiude e il/i modello/i selezionato/i finiscono nella griglia Modelli attivi della scheda. Se il pull/sincronizzazione è in corso, nel titolo compaiono l'indicatore 'Importazione...' e il contatore X/Y; una volta pronta, la scheda è visibile per intero.
🔎 Elementi sullo schermo: badge contatore nel titolo (X/Y) + etichetta Importazione...; nuova scheda modello nella griglia

Passo 9 · Modifica il modello (facoltativo)
griglia Templates → azioni GalleryItemCard / TemplateEditor (/templateeditor)
Passa il puntatore su una scheda nella griglia dei Modelli attivi e fai clic sull'icona Modifica (matita) o direttamente sulla scheda → viene richiamato LoadTemplateForEditing e si passa a /templateeditor. Se il modello è 'pristine' (generato da default/procedura guidata, mai modificato) ha il badge 'Bloccato' e la modifica crea in realtà una copia (tooltip Clona e modifica); per i modelli modificati diventa direttamente Modifica. Inoltre sulla scheda sono presenti anche le azioni Duplica e Rimuovi.
🔎 Elementi sullo schermo: azioni della scheda: Clona e modifica / Modifica, Duplica, Rimuovi, sposta (trascina); badge Bloccato

Passo 10 · (Non un'importazione alternativa) Creazione da zero
Templates (/templates) → procedura guidata CreateNewTemplateModal
Invece dell'importazione predefinita, il pulsante Crea nuovo apre una procedura guidata (CreateNewTemplateModal: tipo → formato → layout → stile) e genera il modello da zero. Questa NON è un'importazione, ma il flusso di creazione di un nuovo modello; è distinta dall'importazione dalla libreria predefinita.
🔎 Elementi sullo schermo: pulsante Crea nuovo; passi della procedura guidata (Tipo/Formato/Layout/Stile)
La finestra consente la selezione multipla: puoi spuntare più schede e importarle in blocco con un unico Aggiungi.
Il numero sul pulsante 'Aggiungi (N)' conta solo le schede selezionate non ancora aggiunte (senza il badge Aggiunto); una scheda già aggiunta non è selezionabile.
Dalla stessa finestra, con il pulsante rosso 'Elimina (N)' in basso a sinistra puoi eliminare completamente i modelli selezionati dalla libreria (junction dell'evento + record della libreria) — questo richiede una finestra di conferma.
Modificare un modello predefinito pristine (Bloccato) non altera l'originale; crea automaticamente una copia e modifica quella (Clona e modifica).
Se dopo aver aggiunto il modello la modalità di output è disattivata, rispondere Sì al suggerimento 'attivare la modalità?' attiva immediatamente il relativo switch nella welcome del kiosk e nella pagina delle impostazioni Mode.
Aspettarsi l'importazione da file (.aktemplate): il codice (TemplateFileService.ImportFromFileAsync/ExportToFileAsync e il caricatore in bundle wwwroot/templates) esiste ma non è collegato ad alcun pulsante dell'interfaccia — per l'utente NON esiste l'importazione da file; l'unica via è l'aggiunta dalla libreria predefinita.
Provare ad aggiungere senza un evento selezionato: quando currentEventInfo è null, AddTemplateToCurrentEvent restituisce silenziosamente Success=false e il modello non viene aggiunto.
Aggiungere dalla scheda sbagliata: la finestra nella scheda Foto mostra la libreria foto, la finestra nella scheda Video & GIF mostra la libreria video; il modello che cerchi potrebbe trovarsi nell'altra scheda.
Crea nuovo scambiato per un'importazione: quello genera un modello da zero con la procedura guidata, non importa un modello predefinito.
Come creare un modello di foto? · Come modificare un modello esistente?