// 네이티브 Sign in with Apple 래퍼 (iOS 전용). 플러그인은 지연 import.
// 반환된 identity token(JWT)의 aud 는 앱 번들 ID → 백엔드 /api/auth/apple 가 JWKS 로 검증한다.
import { Capacitor } from '@capacitor/core'

// Apple 로그인은 iOS 네이티브에서만 노출한다(웹/안드로이드는 별도 흐름 필요 — 현재 미지원).
export function isNativeApple() {
  return Capacitor.getPlatform() === 'ios'
}

// Sign in with Apple 수행 → { identityToken, name }.
// 이름(givenName/familyName)은 애플이 '최초 인증 시에만' 주므로 신규 가입 채움용으로 함께 반환.
export async function nativeAppleCredential() {
  const { SignInWithApple } = await import('@capacitor-community/apple-sign-in')
  const result = await SignInWithApple.authorize({
    clientId: 'kr.sblog.slimbudget',
    redirectURI: 'https://app.sblog.kr/auth/apple/callback',
    scopes: 'email name',
  })
  const r = result?.response || {}
  const name = [r.givenName, r.familyName].filter(Boolean).join(' ').trim() || null
  return { identityToken: r.identityToken || null, name }
}
