Önce: Etkinlik Nasıl Oluşturulur?
Hazır bir şablonu bir etkinliğe (event) aktarmak, kullanıcı Templates (Şablonlar) sayfasındaki "Daha Fazla Ekle" butonuyla açılan Şablon Ekle kütüphane modalından bir veya birden çok hazır şablonu seçip "Ekle" demesiyle yapılır. GERÇEK kodda kullanıcıya açık TEK import yolu budur (hazır kütüphaneden ekleme). Kod tabanında bir dosyadan (.aktemplate) import metotları (TemplateFileService.ImportFromFileAsync/ExportToFileAsync) ve paketli şablon yükleyici (LoadBundledTemplateJsonAsync) tanımlı olsa da HİÇBİR UI bunları çağırmaz — yani dosyadan import özelliği şu an arayüzde YOKTUR.
- Kullanıcı giriş yapmış ve bir etkinlik (event) seçili olmalı — AddTemplateToCurrentEvent currentEventInfo null ise sessizce başarısız olur (RepositoryResponse.Success=false).
- Kütüphanede (AllLocalPhotoTemplates / AllLocalVideoGifTemplates) hazır şablon bulunmalı; bu liste server/CloudSync ve default şablonlardan doldurulur, boşsa modalda Henüz şablon yok gösterilir.
Adım adım
Adım 1 · Şablonlar sayfasını aç
Settings → Templates (/templates)
Ayarlar içinden Şablonlar (Templates) sayfasına git. Sayfa /templates route'unda açılır ve üstte iki sekme (Fotoğraf, Video & GIF) ile Etkin Şablonlar bölümü görünür.
🔎 Ekrandaki öğeler: Sekmeler: Fotoğraf, Video & GIF; başlık Etkin Şablonlar + sayaç rozeti

Adım 2 · Doğru sekmeyi seç
Templates (/templates) → sekme çubuğu
İçe aktaracağın şablonun türüne göre sekme seç: fotoğraf çıktısı için Fotoğraf, video/GIF çıktısı için Video & GIF. Seçilen sekme, modalda gösterilecek kütüphane listesini (foto vs video) belirler.
🔎 Ekrandaki öğeler: Fotoğraf sekmesi, Video & GIF sekmesi
Adım 3 · Daha Fazla Ekle butonuna bas
Templates (/templates) → bölüm başlığı aksiyonları
Bölüm başlığının sağındaki Daha Fazla Ekle butonuna tıkla. Bu, editör VM'inde OpenBrowseModal() çağırır ve 'Şablon Ekle' kütüphane modalını açar (fotoğraf sekmesinden foto, video sekmesinden video kütüphanesi).
🔎 Ekrandaki öğeler: Daha Fazla Ekle (btn-outline) butonu; yanında Yeni Oluştur (mor) butonu
Adım 4 · Şablon Ekle kütüphane modalına göz at
BrowseLibraryModal — Şablon Ekle modalı
Açılan Şablon Ekle modalında hazır şablon kartlarını incele. Kartlar masonry düzeninde gelir, aşağı kaydırınca 30'arlı sayfalarla (infinite scroll) daha fazlası yüklenir. Etkinliğe zaten eklenmiş şablonlar Eklendi rozetiyle gösterilir ve seçilemez.
🔎 Ekrandaki öğeler: Modal başlığı Şablon Ekle, alt başlık Eklenecek şablonları seçin; kartlarda tik kutusu ve Eklendi rozeti; her kartta ad + format (OutputSize.DisplayName)

Adım 5 · Bir veya birden çok şablon seç
BrowseLibraryModal — kart grid
Eklemek istediğin şablon kart(lar)ına tıkla. Her tıklama kartın seçimini aç/kapatır (tik kutusu mor dolar). Eklendi olan kartlar tıklanamaz (OnCardClick içinde atlanır). Alttaki Ekle butonundaki sayı yalnızca henüz eklenmemiş seçili kart sayısını gösterir.
🔎 Ekrandaki öğeler: Kart üzerindeki mor tik kutusu (browse-selected), footer'da 'Ekle (N)' butonu

Adım 6 · Ekle butonuyla etkinliğe aktar
BrowseLibraryModal — footer
Footer'daki 'Ekle (N)' butonuna bas. Seçilen her şablon için AddTemplateToCurrentEvent(templateLocalId) çağrılır; bu, şablon ile mevcut etkinlik arasında bir junction (TemplateEventJunction) oluşturur ve şablonu etkinliğe bağlar. Seçim temizlenir ve modal kapanır.
🔎 Ekrandaki öğeler: 'Ekle (N)' (btn-update-now) butonu; İptal butonu; solda kırmızı 'Sil (N)' butonu
Adım 7 · (Ara adım) Mod açma önerisi popup'ı
Onay dialogu (BlazorUserDialogService)
Eklenen şablonun çıktı modu (Fotoğraf/GIF/Video) etkinlikte kapalıysa, modal kapandıktan sonra 'modu açalım mı?' onay popup'ı çıkar (TemplateModeSuggestionService.CheckAndOfferAsync). 'Evet' dersen ilgili ayar (ör. PhotoOutputFormatActive / GifOutputFormatActive / VideoOutputFormatActive) açılır; Hayır dersen değişmez. Çok kareli (2+) foto şablonu ayrıca GIF modu önerebilir.
🔎 Ekrandaki öğeler: Bilgi dialogu başlığı (ör. 'EnableGifModeTitle'), Evet / Hayır butonları

Adım 8 · Eklenen şablon Etkin Şablonlar grid'inde görünür
Templates (/templates) → Etkin Şablonlar grid
Modal kapanır ve seçtiğin şablon(lar) sekmenin Etkin Şablonlar grid'ine düşer. Pull/senkron sürüyorsa başlıkta 'İçe aktarılıyor...' göstergesi ve X/Y sayacı belirir; hazır olunca kart tam görünür.
🔎 Ekrandaki öğeler: Başlıkta sayaç rozeti (X/Y) + İçe aktarılıyor... etiketi; grid'de yeni şablon kartı

Adım 9 · Şablonu düzenle (isteğe bağlı)
Templates grid → GalleryItemCard aksiyonları / TemplateEditor (/templateeditor)
Etkin Şablonlar grid'inde bir kartın üzerine gelip Düzenle (kalem) simgesine ya da doğrudan karta tıkla → LoadTemplateForEditing çağrılır ve /templateeditor'a geçilir. Şablon 'pristine' (default/sihirbaz üretimi, hiç değiştirilmemiş) ise 'Kilitli' rozetlidir ve düzenleme aslında bir kopya oluşturur (tooltip Kopyala & Düzenle); değiştirilmiş şablonlarda doğrudan Düzenle olur. Ayrıca kartta Çoğalt ve Kaldır aksiyonları da vardır.
🔎 Ekrandaki öğeler: Kart aksiyonları: Kopyala & Düzenle / Düzenle, Çoğalt, Kaldır, taşı (sürükle); Kilitli rozeti

Adım 10 · (Alternatif import değil) Sıfırdan oluşturma
Templates (/templates) → CreateNewTemplateModal sihirbazı
Hazır import yerine Yeni Oluştur butonu bir sihirbaz (CreateNewTemplateModal: tip → format → düzen → stil) açar ve şablonu sıfırdan üretir. Bu bir import DEĞİL, yeni şablon oluşturma akışıdır; hazır kütüphaneden aktarımdan ayrıdır.
🔎 Ekrandaki öğeler: Yeni Oluştur butonu; sihirbaz adımları (Tip/Format/Düzen/Stil)
Modal çoklu seçime izin verir: birden çok kartı tikleyip tek Ekle ile toplu aktarabilirsin.
'Ekle (N)' butonundaki sayı yalnızca henüz eklenmemiş (Eklendi rozetli olmayan) seçili kartları sayar; zaten eklenmiş kart seçilemez.
Aynı modaldan sol alttaki kırmızı 'Sil (N)' butonuyla seçili şablonları kütüphaneden tamamen silebilirsin (event junction + kütüphane kaydı) — bu bir onay dialogu ister.
Pristine (Kilitli) hazır şablonu düzenlemek orijinali bozmaz; otomatik bir kopya oluşturup onu düzenler (Kopyala & Düzenle).
Şablon eklendikten sonra çıktı modu kapalıysa çıkan 'modu açalım mı?' önerisine Evet demek, kiosk welcome ve Mode ayar sayfasındaki ilgili switch'i anında açar.
Dosyadan (.aktemplate) import beklemek: kod (TemplateFileService.ImportFromFileAsync/ExportToFileAsync ve wwwroot/templates paketli yükleyici) mevcut ama hiçbir arayüz butonuna bağlı değil — kullanıcı için dosyadan import YOK; tek yol hazır kütüphaneden eklemedir.
Etkinlik seçili değilken eklemeye çalışmak: currentEventInfo null olduğunda AddTemplateToCurrentEvent sessizce Success=false döner, şablon eklenmez.
Yanlış sekmeden eklemek: Fotoğraf sekmesindeki modal foto kütüphanesini, Video & GIF sekmesindeki modal video kütüphanesini gösterir; aradığın şablon diğer sekmede olabilir.
Yeni Oluşturu import sanmak: o, sihirbazla sıfırdan şablon üretir, hazır şablonu içe aktarmaz.
Fotoğraf Şablonu Nasıl Oluşturulur? · Mevcut Şablon Nasıl Düzenlenir?