Platformlar (Platforms)
Route
/platform (eski takma ad /page_main_iqv_os artık yalnızca /platform'a yönlendirir)
Sayfanın Amacı
Kuruma ait tüm platform modüllerini (iç araçları) tek ekranda listelemek ve kullanıcının bunlara tek tıkla erişmesini sağlamak.
Sayfada Bulunan Alanlar
- Başlık kartı: "Platform" başlığı, sadece tarih gösteren canlı saat, "Platform ara" arama kutusu.
- Modül kartlarından oluşan duyarlı (responsive) bir ızgara — her kart modül adını gösterir.
- Yükleme sırasında boş durum, hata durumunda uyarı + yeniden dene, boş liste/arama sonucu için ayrı boş durumlar.
Kullanıcı İşlemleri
- Arama kutusuna yazarak modül adı/adresine göre filtreleme.
- Bir modül kartına tıklayarak ilgili adrese gitme — adres uygulama içi (relative) ise SPA içinde yönlendirir, harici ise yeni sekmede açar (çift açılmaya karşı korumalı).
Bu sayfada modül oluşturma/düzenleme/silme YOKTUR — bu işlemler yalnızca Ayarlar sayfasındadır.
Kullanılan Veriler
- Platform modülü listesi (id, ad, url, sıra numarası, oluşturulma tarihi) — 30 saniyede bir otomatik güncellenir, anında görüntüleme için önbelleğe alınır.
- Sıralama backend'de hesaplanır: varsa kaydedilmiş platform sıralaması (kuyruk), yoksa
created_atsırası. Sayfa artık ayrı bir sıralama isteği atmaz ve sırayı yeniden hesaplamaz.
Yetki ve Görünülük
Oturumu olan her kullanıcı erişebilir; rol bazlı bir kısıtlama yoktur (bkz. Hedef Kullanıcılar). user rolündeki kullanıcılar için kenar menüsünde görünen tek sayfadır.
Kullanılan Bileşenler
dashboard/src/components/platform/index.tsx— sayfa bileşeni ve burada tanımlı, Ayarlar sayfasında da yeniden kullanılanModuleCardbileşeni.dashboard/src/components/hooks/useClock.tsx— tarih gösterimi.dashboard/src/components/hooks/usePolling.tsx— 30 saniyelik otomatik yenileme.
API İletişimi
| İşlem | Metot | Endpoint | Kullanım amacı |
|---|---|---|---|
| Modül listesini getirme | GET | /platform/modules (public /api/v1/platform/modules) |
Sıralanmış modül listesi — tek istek |
Sayfa artık tek uç kullanır. Sıralama kaydını okuyan POST /platform-queue-list çağrısı bu sayfadan kaldırılmıştır (uç ve Ayarlar > Sırala ekranı yerinde durur); eski GET /iqv_platform_modulleri ucu ise Notlar/Hatırlatıcı/Ayarlar sayfaları için çalışmaya devam eder.
Ayrıntılar için bkz. API Dokümantasyonu › Platform Modülleri.
Durum Yönetimi
- Modül listesi: servis katmanında (
platformService.tsx→getOrderedModules) 60 saniyelik "stale-while-revalidate" bellek içi önbellek + localStorage kalıcı önbelleği; sayfa yeniden girişinde anında gösterim sağlar. Ayarlar > Sırala ekranında yeni bir sıra kaydedildiğinde bu önbellek geçersiz kılınır. - Arama metni ve seçili durum: yerel React state.
- Oturum/rol bilgisi: Redux
adminslice — sayfa artık bu bilgiyi okumaz; kapsam (şirket/organizasyon) sunucuda JWT'den türetilir.