/**
 * Helper для редиректа из студии в плеер с одноразовым ticket'ом.
 *
 * Flow:
 *   студия → POST /api-user/api/v1/auth/play-ticket → { ticket }
 *   браузер → window.location = PLAYER_URL/<gameId>#ticket=<ticket>
 *   плеер обменивает ticket на JWT (в PlayerAuth)
 *
 * Если бэкенд не отдал ticket — фоллбек на простой редирект без ticket'а
 * (плеер сам попросит JWT/перенаправит на главный сайт).
 */
import { USER_addres, PLAYER_URL } from './API';

export const PLAYER_BASE = PLAYER_URL;

export async function requestPlayTicket() {
  const jwt = localStorage.getItem('Authorization') || localStorage.getItem('player_jwt');
  if (!jwt) return null;
  try {
    const r = await fetch(`${USER_addres}/api/v1/auth/play-ticket`, {
      method: 'POST',
      headers: { Authorization: jwt },
    });
    if (!r.ok) return null;
    const d = await r.json();
    return d?.ticket || d?.data?.ticket || null;
  } catch {
    return null;
  }
}

export function buildPlayerUrl(gameId, ticket) {
  const base = `${PLAYER_URL}/${gameId}`;
  return ticket ? `${base}#ticket=${encodeURIComponent(ticket)}` : base;
}
