Ana içeriğe geç

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

  1. Arama kutusuna yazarak modül adı/adresine göre filtreleme.
  2. 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_at sı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ılan ModuleCard bileş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 admin slice — sayfa artık bu bilgiyi okumaz; kapsam (şirket/organizasyon) sunucuda JWT'den türetilir.