Basit Anlatım (Herkes İçin)
Ne Yapılacak?
Admin panelde kullanıcıların email adreslerinin doğrulanıp doğrulanmadığını görebilecek ve
istediğiniz kullanıcının email'ini doğrulanmış olarak işaretleyebileceksiniz.
Neden Önemli?
Bazı kullanıcılar email doğrulama linkine tıklamayı unutabilir veya spam'e düşebilir.
Bu özellik sayesinde admin olarak müşteri hizmetleri için manuel email doğrulama yapabilirsiniz.
- Liste Görünümü: Her kullanıcının email'inin doğrulanıp doğrulanmadığını göreceksiniz
- Tek Tıkla Doğrulama: Email doğrulanmamış kullanıcıları tek tıkla doğrulayabileceksiniz
- Kullanıcı Düzenleme: Kullanıcı profil sayfasında email doğrulama toggle butonu olacak
- Görsel İpuçları: Doğrulanmış/doğrulanmamış kullanıcılar renk kodları ile gösterilecek
Eklenecek Özellikler
1. Liste Görünümünde Email Doğrulama Durumu
Görünüm: Tablo liste görünümüne yeni kolon eklenecek
| ID | Ad Soyad | Email Doğrulama | Rol | Durum | İşlemler | |
|---|---|---|---|---|---|---|
| 1 | Ahmet Yılmaz | ahmet@example.com | Admin | |||
| 7 | Mehmet Demir | info@muzibu.com | Üye |
Özellikler:
- Yeşil Badge: Email doğrulanmış (✓ ikonu, yeşil arka plan)
- Kırmızı Badge: Email doğrulanmamış (! ikonu, kırmızı arka plan)
- Tek Tıkla Doğrulama: Badge'e tıklayınca email doğrulama toggle olur
- Onay Modalı: Doğrulanmamış → Doğrulanmış değişikliğinde onay penceresi
- Loading Animasyon: İşlem sırasında spinner gösterimi
2. Grid (Kart) Görünümünde Email Doğrulama
Görünüm: Kullanıcı kartlarına email doğrulama ikonu eklenecek
Özellikler:
- Avatar Badge: Avatar'ın sağ alt köşesinde mini ikon
- Yeşil ✓: Email doğrulanmış
- Kırmızı !: Email doğrulanmamış (tıklanabilir)
- Hover Efekti: Doğrulanmamış badge'e hover'da tooltip göster
- Tek Tıkla Doğrulama: Kırmızı badge'e tıklayınca doğrulama işlemi
3. Kullanıcı Düzenleme Sayfasında Email Doğrulama
Görünüm: Profil bilgileri bölümüne email doğrulama toggle switch eklenecek
Kullanıcı Profil Bilgileri
Özellikler:
- Toggle Switch: Modern switch tasarımı (Tabler.io Pretty Checkbox stili)
- Dinamik Durum: Doğrulanmamış → Kırmızı arka plan, Doğrulanmış → Yeşil arka plan
- İkon Değişimi: Durum değişince ikon rengi değişir
- Alt Metin: "Email adresi doğrulanmamış" / "Email adresi doğrulanmış ✓"
- Livewire Sync: Değişiklik anında veritabanına kaydedilir
- Toast Bildirimi: İşlem başarılı olunca bildirim gösterilir
Teknik Detaylar (Geliştiriciler İçin)
Dosya Konumları:
- Liste View: Modules/UserManagement/resources/views/livewire/user-component.blade.php
- Manage View: Modules/UserManagement/resources/views/livewire/user-manage-component.blade.php
- Component: Modules/UserManagement/app/Http/Livewire/UserComponent.php
- Manage Component: Modules/UserManagement/app/Http/Livewire/UserManageComponent.php
Database Field:
- Tablo:
users - Field:
email_verified_at(timestamp, nullable) - Doğrulanmış:
email_verified_at IS NOT NULL - Doğrulanmamış:
email_verified_at IS NULL
Livewire Metodlar (Yeni Eklenecek):
- toggleEmailVerification($userId) → Liste/grid görünümünde badge tıklandığında
- verifyEmail() → Manage sayfasında toggle switch değiştiğinde
- unverifyEmail() → Doğrulanmış → Doğrulanmamış değişikliği (nadiren kullanılır)
Toast Bildirimleri:
- Başarılı: "Email doğrulama başarıyla güncellendi!"
- Hata: "Email doğrulama güncellenirken hata oluştu!"
Tasarım Standartları:
- Admin Panel: Tabler.io + Bootstrap pattern kullan
- İkonlar: FontAwesome (fas fa-envelope-circle-check)
- Renkler: Doğrulanmış → Green (success), Doğrulanmamış → Red (danger)
- Toggle Switch: Pretty Checkbox kütüphanesi (mevcut sistemde kullanılıyor)
Güvenlik & Validasyon:
- Sadece admin/root rolüne sahip kullanıcılar email doğrulama yapabilir
- Root kullanıcıların email doğrulaması değiştirilemez (koruma)
- Activity log kaydı: "Email doğrulaması yapıldı" / "Email doğrulaması kaldırıldı"
İşlem Akışı
1 Liste/Grid Görünümünde Email Doğrulama
- Kullanıcı doğrulanmamış badge'e tıklar
- Onay modalı açılır: "Mehmet Demir kullanıcısının email adresini doğrulamak istiyor musunuz?"
- Kullanıcı "Evet" der
- Livewire metodu tetiklenir:
toggleEmailVerification(7) - Database güncellenir:
email_verified_at = NOW() - Activity log kaydedilir
- Toast bildirimi gösterilir (yeşil, başarılı)
- Badge kırmızıdan yeşile döner (loading animasyon ile)
2 Manage Sayfasında Email Doğrulama
- Kullanıcı düzenleme sayfası açılır
- Email doğrulama toggle switch görülür (kapalı/kırmızı)
- Admin toggle switch'i açar
- Livewire metodu tetiklenir (wire:model ile otomatik)
- Database güncellenir
- Arka plan rengi kırmızıdan yeşile döner
- Alt metin değişir: "Email adresi doğrulanmış ✓"
- Toast bildirimi gösterilir
Sonraki Adım
Bu tasarım taslağı onayınıza sunulmuştur. Yukarıdaki görünüm ve işlevsellik size uygunsa "UYGUNDUR" yazarak onay verebilirsiniz.
Değişiklik istediğiniz noktalar varsa belirtin, taslak güncellenecektir.