Ayarlar (Settings)
Route
/ayarlar
Sayfanın Amacı
Platform modüllerini yönetmek: yeni modül oluşturma, mevcut modülleri düzenleme/silme ve modüllerin görüntülenme sırasını belirleyip kaydetme.
Sayfada Bulunan Alanlar
- Başlık kartı: "Ayarlar" başlığı, görünüm seçici (Düzenle / Sırala), "Platformlarda ara" arama kutusu (her iki görünümde de çalışır).
- Düzenle görünümü: yeni platform modülü ekleme formu (ad + URL).
- Sırala görünümü: "Platform Sıralaması" alt başlığı, sıralama modu seçici (Düzenleme Tarihine Göre / Harfe Göre / Manuel), tüm modüllerin 3 sütunlu kart ızgarası; Manuel modda her kartta 1..N arası pozisyon seçici, değişiklik yapıldığında "kaydedilmemiş" olarak işaretlenir, "Sıralamayı Kaydet" butonu (kaydedilecek bir şey olmadan pasif).
- Arama (her iki görünümde): eşleşen modülleri, düzenleme kalemi ve yönlendirme okuyla birlikte tam
ModuleCardolarak gösterir (Platformlar sayfasındaki sade karttan farklı olarak).
Kullanıcı İşlemleri
- Görünüm seçiciyle Düzenle/Sırala arasında geçiş yapma.
- (Düzenle) yeni modül adı ve URL'si girerek modül oluşturma.
- Arama sonucunda bir kartın düzenleme (kalem) ikonuna tıklayarak modülü güncelleme veya onaylı şekilde silme.
- (Sırala/Manuel) her kart için pozisyon seçerek sırayı değiştirme, ardından "Sıralamayı Kaydet" ile kaydetme; kaydedilmemiş değişikliklerle görünüm değiştirilmeye çalışıldığında onay istenir.
- Bir kartın gövdesine tıklayarak ilgili adrese yönlendirme (Platformlar sayfasındakiyle aynı davranış).
Kullanılan Veriler
- Platform modülü listesi (id, ad, url, oluşturulma tarihi).
- Kaydedilmiş platform sıralaması (kuyruk kaydı), varsa.
Yetki ve Görünürlük
user rolündeki kullanıcılar bu sayfaya erişemez — doğrudan adresle girilse bile RequirePlatformAccess koruması devreye girer ve sayfa render edilmeden /platform'a yönlendirilir. Diğer tüm oturumlu kullanıcılar tam erişime sahiptir.
Kullanılan Bileşenler
dashboard/src/components/settings/index.tsx— sayfa bileşeni.dashboard/src/components/platform/index.tsx—ModuleCardbileşeni buradan yeniden kullanılır.dashboard/src/components/platform/ModuleFormModal.tsx— modül oluşturma/düzenleme formu (modal).
API İletişimi
| İşlem | Metot | Endpoint | Kullanım amacı |
|---|---|---|---|
| Modül listesini getirme | GET | /iqv_platform_modulleri |
Tüm modülleri listeleme |
| Modül oluşturma | POST | /iqv_platform_modul_ekle |
Yeni platform modülü ekleme |
| Modül güncelleme | PUT | /iqv_platform_modul_guncelle |
Mevcut modülü güncelleme |
| Modül silme | DELETE | /iqv_platform_sil |
Modülü silme |
| Kaydedilmiş sıralamayı getirme | POST | /platform-queue-list |
Mevcut sıralamayı yükleme |
| Sıralamayı kaydetme | POST | /platform-queue-create |
Yeni sıralamayı kaydetme |
Ayrıntılar için bkz. API Dokümantasyonu › Platform Modülleri.
Durum Yönetimi
- Modül listesi:
platformService.tsx'teki paylaşılan önbellek (Platformlar sayfasıyla aynı önbellek kaynağı); modül oluşturma/güncelleme/silme sonrası önbellek geçersiz kılınır. - Görünüm seçimi, arama metni, sıralama modu, "kaydedilmemiş değişiklik" bayrağı: yerel React state.
- Sıralama kaydından önce istemci tarafında doğrulama yapılır (boş olmama, yinelenen modül olmaması, tam üyelik eşleşmesi, 1..N aralığında benzersiz ve ardışık pozisyonlar) — bu doğrulama ağa istek göndermeden çalışır.