# Angular Routing Sistemi

## Routing Hiyerarşisi

**Ana Yapı:**
```
/ → /👨 (default)
├── 👨 (Kullanıcı - Public)
│   ├── 🏠 (Ana Sayfa)
│   ├── 🔑 (Giriş Yap) - Guard: uyelerGiremezGuard
│   ├── 👤 (Kayıt Ol) - Guard: uyelerGiremezGuard
│   └── 👨 (Üye Sayfaları)
│       ├── 👪 (Arkadaşlar) - Guard: uyeOlmayanGiremezGuard
│       └── 🚨 (Bildirimler)
│
└── 🧩 (Uygulamalar) - Guard: uyeOlmayanGiremezGuard
    └── 🌀 (Uyar Döküm)
        ├── 👑 (Admin) - Yetki: 'Süper Yönetici'
        ├── 🤖 (Model Pano) - EAGER LOADED
        ├── 🏭 (Firmalar)
        ├── 💍 (Teklifler)
        ├── 📦 (Stoklar)
        └── 🧃 (Uygulamalar)
            ├── 🔬 (STEP Analyzer)
            └── 👩‍💻 (Post Processor)
```

## Route Guards

### uyelerGiremezGuard
**Kullanım:** Login, Kayıt, Şifre Sıfırla
```typescript
// Giriş yapmış kullanıcılar erişemez
if (fikoytService.kimlik.aktifKullaniciJson()) {
  return false;
}
return true;
```

### uyeOlmayanGiremezGuard
**⚠️ ŞU ANDA DEVRE DIŞI!**
```typescript
// BUG: Her zaman true dönüyor
// Düzeltilmeli: Üye yoksa false dönmeli
```

## Lazy Loading

**Seviye 1:** Ana modüller
```typescript
{ path: '👨', loadChildren: () => import('./kullanici.routes') }
```

**Seviye 2:** Feature modüller
```typescript
{ path: '🌀', loadChildren: () => import('./uyar-dokum.routes') }
```

**Seviye 3:** Component lazy loading
```typescript
{ path: '🏠', loadComponent: () => import('./ana-sayfa.component') }
```

## Layout Component'leri

**KullaniciComponent:**
- Basit layout (header + content)
- Breadcrumb toggle
- Bağlantı durumu göstergesi (⚡)

**UyarDokumComponent:**
- Sidebar + Content
- NzDrawer (responsive)
- Permission-based menu
- Sidebar state → IndexedDB

## Emoji-Based Routing

**Avantajlar:**
- Kodda okunabilir
- Breadcrumb otomatik simge
- i18n bağımsız

**Dezavantajlar:**
- URL encoding (%F0%9F...)
- SEO için uygun değil

## Route Data

```typescript
data: {
  preload: boolean,
  animasyonTag: string,
  baslik: string,
  simge: string
}
```

## Best Practices

✅ Lazy loading (tüm feature'lar)
✅ Route data ile metadata
✅ Base component pattern
⚠️ Guard sistemi düzeltilmeli
⚠️ Preload strategy eklenmeli
