Düzenleme Modu ve Satır İçi Mekanikler
CopyPatch, yetkili bir ekip üyesi tarafından açıkça tetiklenene kadar düzenleyici katmanını genel ziyaretçilerden tamamen gizli ve ayrık tutar.
1. Düzenleme Modunu Başlatma
- Web sitesi adresinin sonuna
?copypatch=1parametresini ekleyin (örneğinhttps://siteniz.com/fiyatlar?copypatch=1). CopyPatchProviderbu parametreyi algılar ve düzenleyici paketini (~12 kB gzip) dinamik olarak tembel yükler (lazy-load). Ziyaretçiler bu kodu asla indirmez.- Aktif bir oturum yoksa, Kimlik Doğrulama Modalı yönetim parolanızı (veya ana uygulama oturumunuzu) ister.
- Giriş başarılı olduğunda, ekranın altında yüzen Düzenleme Araç Çubuğu belirir ve tüm
<EditableText>alanları tıklanabilir hale gelir.
2. Klavye Kısayolları
Klavye Kısayolları
Cmd + S / Ctrl + S -> Bekleyen değişiklikleri taslak olarak kaydet (veya yetkiliyseniz yayınla)
Escape -> Aktif metin seçimini kaldır / Düzenlemeyi iptal et / Modalı kapat
Enter -> Tek satır modunda: onayla ve odağı bırak; çok satırlıda: yeni satır ekle
Tab / Shift + Tab -> Sayfadaki sonraki / önceki düzenlenebilir metin alanına odaklan 3. Araç Çubuğu Kontrolleri Referansı
| Kontrol | Görsel Gösterge | Eylem ve İşlev |
|---|---|---|
| Dil Rozeti | TR / EN / DE | Aktif olarak düzenlenen dil kapsamını görüntüler. |
| Durum Rozeti | Yeşil / Kehribar nabız noktası | Değişikliklerin sunucuyla eşitlendiğini (Ready) veya bekleyen değişiklik olduğunu (Unsaved) gösterir. |
| Geri Al (Discard) | Çerçeveli buton | Kaydedilmemiş tüm yerel satır içi değişiklikleri yayınlanan son duruma geri döndürür. |
| Taslak Kaydet | Mavi buton (⌘S) | Değişiklikleri atomik CAS doğrulamasıyla veritabanındaki taslak (draft) durumuna kaydeder. |
| Yayınla (Publish) | Yeşil aksiyon butonu | Taslak değişiklikleri tüm ziyaretçiler için anında canlıya alır (publisher rolü gerektirir). |
| Çıkış (Esc) | Kapatma ikon butonu | URL'den ?copypatch=1 parametresini kaldırarak normal ziyaretçi görünümüne döner. |
4. Doğal İmleç ve Seçim Kararlılığı
React yeniden render edildiğinde imlecin başa veya sona zıplamasına yol açan ilkel contenteditable sarmalayıcılarının aksine, CopyPatch özel bir imleç koruma mekanizması kullanır:
- Metin düğümleri doğal
contenteditable="plaintext-only"kullanır; yapıştırmalarda harici stiller ve HTML etiketleri otomatik temizlenir. - Yazım sırasında tuş vuruşları tüm React bileşen ağacını tetiklemeden doğrudan yerel bellek deposuna yazılır.
- Odak dışına çıkıldığında veya kaydedildiğinde, React metin seçimini veya imleç konumunu bozmadan durumu eşitler.
5. DOM İzolasyonu ve Portal Mimarisi
Araç çubuğu ve kimlik doğrulama modalı, uygulamanızın işaretlemesi dışındaki özel bir DOM konteynerine render edilir:
HTML
<!-- Uygulama bileşen ağacının dışına yerleştirilen izole portal kapsayıcısı -->
<div id="copypatch-portal-root" aria-live="polite"></div> Bu sayede CopyPatch arayüzü ana sitenizin CSS sıfırlamalarından, form stillerinden veya z-index katman kırpmalarından asla etkilenmez.