Proje: Okul B2B App · Hub: Okul B2B App — Conventions

Link Açma ve YouTube Entegrasyonu

utils/LinkOpener.ts — Dış URL’leri ve YouTube videolarını açmak için.

import { openLink } from '@/utils/LinkOpener';
 
await openLink('https://youtube.com/watch?v=...'); // YouTube app veya browser
await openLink('tel:+905551234567');               // Telefon uygulaması
await openLink('https://website.com');             // Browser

YouTube Öncelik Sırası

  1. vnd.youtube://{videoId} → YouTube app (yüklüyse)
  2. Fallback → Browser

extractYouTubeVideoId() ile youtube.com/watch?v=... veya youtu.be/... formatlarından ID çıkarılır.

URL Normalizasyonu

http:// veya https:// yoksa otomatik https:// eklenir.

expo-web-browser

Yasal belgeler (gizlilik politikası, kullanım koşulları) için expo-web-browser.openBrowserAsync() kullanılır (in-app browser, uygulama içinde açılır).

Telefon/WhatsApp

Lead detay modal’da:

Linking.openURL(`tel:${phone}`)
Linking.openURL(`whatsapp://send?phone=${phone}`)