# MASTER RECOVERY & TECHNICAL ARCHITECTURE PLAN (SİNA rEvolution)

Bu doküman, SİNA Chrome eklentisinin rEvolution v8 (Premium Glassmorphism) sürümünün teknik mimarisini, mantıksal akışını ve modernizasyon sonrası (HIZ/DI entegrasyonu dahil) tam yedeğini içerir. **Bu projenin teknik "Beyin" dökümüdür.**

---

## 1. MİMARİ GENEL BAKIŞ (Hibrit Dashboard)

Sistem, geleneksel sayfa geçişleri yerine **Hibrit Dashboard (hypstart)** yapısını temel alır. 

### A. Page Scaler (Panel Uyumlandırma) Mantığı
CSS üzerinden tarayıcı genişliği ve yüksekliğini hesaplayarak SİNA'nın orijinal sayfasını sol üstten ölçeklendirir ve sağ tarafta rEvolution panelini (`.hypstart-panel`) açar.
- **Kritik Sınıf:** `html.rev-panel-active body`
- **Ölçekleme Formülü:** `calc((100vw - 400px) / 100vw)`

### B. Glassmorphism Design Tokens
- **Ana Renkler:** `#00d4ff` (Cyan), `#9d00ff` (Purple), `#0f172a` (Slate Deep Blue).
- **Efektler:** `backdrop-filter: blur(25px)`, `mix-blend-mode: multiply`.
- **Handle (Giriş Küresi):** `Aurora Mist` temalı, 3D küre efekti (`aurora-mist-spin` animasyonu).

---

## 2. MERKEZİ YÖNLENDİRME (Routing)

Tüm sayfa geçişleri `detectCurrentPage` ve `navigateTo` fonksiyonları üzerinden yönetilir.

- **`detectCurrentPage()`:** Mevcut URL'yi tarayarak modülü belirler (`ht1`, `kt3`, `ys1` vb.).
- **Terminal Redirection:** `REV_JUST_FINISHED` bayrağı true olduğunda veya root URL'lere (`/hipertansiyon`, `/diyabet`) girildiğinde sistem otomatik olarak Dashboard'a (`home`) yönlendirir.
- **Session Keys:**
  - `REV_FLOW_TYPE`: Aktif modülü belirler (HT, DI, KT, OZ, YS, AS, KO).
  - `REV_AUTOPILOT`: Otomatik ilerleme durumunu yönetir.
  - `REV_JUST_FINISHED`: İzlem işleminin bittiğini ve Dashboard'a dönülmesi gerektiğini sisteme bildirir.

---

## 3. VERİ SENKRONİZASYONU (Data Layer)

`syncDashboardData` fonksiyonu, SİNA'nın DOM yapısını tarayarak Dashboard panelini besler.

- **Scraping Target:** `.disease` ve `.card.ui-fluid` sınıflarına sahip kartlar.
- **Mapping Mantığı:** Başlık metni (DİYABET, HİPERTANSİYON, OBEZİTE vb.) üzerinden `boxKey`, `mapping` ve `icon` ataması yapılır.
- **Urgency Detection:** "Sonraki" tarihi ile mevcut tarih arasındaki farka (30 gün altı) ve `.late` sınıfına bakarak `isUrgent` (Acil) bayrağını set eder.

---

## 4. MODÜL MODERNİZASYON DETAYLARI

### HIZ (Hipertansiyon) ve DI (Diyabet)
- **Durum:** Tam Modernize Edildi.
- **Değişiklik:** Eski terminal özet sayfaları (**HIZ6, DI8**) tamamen silindi. 
- **Akış:** Bitiş adımları artık doğrudan Dashboard entegrasyonu ile çalışmaktadır.

### KT (Kardiyovasküler) ve DT (Diyabet İzlem)
- **Tema:** Emerald Glass (Yeşil Gradyan).
- **Mantık:** SİNA'nın orijinal içeriğini modern kartlara (`.kt-card`, `.dt-card`) bind ederek render eder.

### YS (Yaşlı Sağlığı)
- **Tema:** Light Purple Glass (Lila Cam).
- **Özellik:** YS1-YS7 arası tüm adımlarda yüzen başlık kartı ve derin mor butonlar standardize edildi.

---

## 5. KURTARMA PROSEDÜRLERİ (Recovery Guide)

Sistemde bir bozulma yaşanması durumunda izlenecek adımlar:

### A. Syntax / Brace Mismatch (Parantez Hatası)
Eğer Dashboard yüklenmiyorsa (Console'da "missing ) after argument list" hatası varsa):
1. `content.js` > `syncDashboardData` fonksiyonunu kontrol edin.
2. `forEach` döngüsü ve `try-catch` bloklarının simetrik kapandığından emin olun.
3. **Reset:** Fonksiyonu temiz ve girintili bir blokla tamamen değiştirin.

### B. Routing / Redirect Döngüsü
Eğer sayfa sürekli Dashboard'a atıyorsa veya yanlış sayfaya yönlendiriyorsa:
1. `sessionStorage.clear()` komutu ile tüm durumu sıfırlayın.
2. `REV_JUST_FINISHED` ve `REV_FLOW_TYPE` anahtarlarının çakışmadığından emin olun.

### C. CSS / Layout Bozulmaları
Eğer SİNA'nın orijinali görünmüyorsa veya panel üst üste biniyorsa:
1. `html.rev-panel-active` sınıfının varlığını kontrol edin.
2. `content.css` içindeki `var(--rev-scale)` değişkeninin hesaplandığını doğrulayın.

---

## 6. SİLİNEN LEGACY KAYITLARI (Cleanup Log)

Gelecekte ihtiyaç duyulmaması için silinen ölü kodlar:
- `updateHIZ6Content` / `bindHIZ6Events`
- `updateDI8Content` / `bindDI8Events`
- Eski "Terminal Özeti" layout'ları (Tablo bazlı yapılar).

> [!TIP]
> **Kurtarma İçin:** `content.js` dosyasının 1.9MB boyutunda olması normaldir; projenin tüm mantığı ve UI kütüphanesi bu dosya içerisindedir. Herhangi bir düzenlemede (özellikle regex ve template literal) karakter kaçışlarına (`\u0130` vb.) dikkat edilmelidir.

**PROJE DURUMU:** STABİL / MODERNİZE EDİLDİ
**YEDEKLEME TARİHİ:** 26 MART 2026
