<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
include 'session_check.php';
require_once __DIR__ . '/includes/app_config.php';
$page_title = '⚽ API de Jogos';

$config = streambox_config_read();
$success_message = '';
$error_message = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $url = trim((string)($_POST['games_api_url'] ?? ''));
    if (!filter_var($url, FILTER_VALIDATE_URL) || !preg_match('#^https?://#i', $url)) {
        $error_message = 'Informe uma URL HTTP/HTTPS válida.';
    } else {
        $config = streambox_config_update(['games_api_url' => $url]);
        $success_message = '✅ API de jogos atualizada. O aplicativo já usará a nova origem pelo proxy do painel.';
    }
}

$current = htmlspecialchars((string)($config['games_api_url'] ?? ''), ENT_QUOTES, 'UTF-8');
$proxy = 'api/games.php';

$page_content = '
<div class="container-fluid">
  <div class="card radius-10">
    <div class="card-header"><h4 class="mb-0">⚽ API de Jogos do StreamBox</h4></div>
    <div class="card-body">';
if ($success_message) $page_content .= '<div class="alert alert-success">' . $success_message . '</div>';
if ($error_message) $page_content .= '<div class="alert alert-danger">' . $error_message . '</div>';
$page_content .= '
      <p class="text-muted">Altere aqui a URL externa que fornece o JSON dos jogos. O app consome um endereço fixo do próprio painel, então você pode trocar a API sem atualizar o APK.</p>
      <form method="POST">
        <div class="mb-4">
          <label class="form-label fw-bold">URL da API externa de jogos</label>
          <input type="url" name="games_api_url" class="form-control form-control-lg" value="' . $current . '" required placeholder="https://servidor.com/jogos.json">
        </div>
        <button type="submit" class="btn btn-primary btn-lg">💾 Salvar API de Jogos</button>
      </form>
      <hr class="my-5">
      <div class="alert alert-info mb-0"><strong>Endpoint usado pelo app:</strong> <code>' . $proxy . '</code><br>O painel busca a API configurada, valida o JSON e mantém o último retorno válido como contingência.</div>
    </div>
  </div>
</div>';
include 'includes/layout.php';
