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.
openLink()
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'); // BrowserYouTube Öncelik Sırası
vnd.youtube://{videoId}→ YouTube app (yüklüyse)- 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}`)Related
- galeri-yonetimi — YouTube videoları galeri sekmesinde
- deep-link-yonetimi — uygulama içi deep link