<?php

$apiBaseUrl = getenv('API_BASE_URL') ?: 'https://deliveryfarma.com.br';
$hostname = $_SERVER['HTTP_HOST'] ?? 'localhost';

$ch = curl_init("$apiBaseUrl/api/v1/dominio");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Origin: https://$hostname",
        'Accept: application/json',
    ],
    CURLOPT_TIMEOUT => 5,
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$json = ($httpCode === 200 && $response) ? json_decode($response, true) : [];
$meta = $json['data'] ?? [];

$manifest = [
    'name' => $meta['name'] ?? '',
    'short_name' => $meta['short_name'] ?? $meta['name'] ?? '',
    'start_url' => '.',
    'display' => 'standalone',
    'background_color' => $meta['surface_color'] ?? '#000000',
    'theme_color' => $meta['surface_color'] ?? '#000000',
    'description' => $meta['description'] ?? '',
    'orientation' => 'portrait-primary',
    'prefer_related_applications' => false,
    'icons' => [],
];

if (! empty($meta['icon_192_url'])) {
    $manifest['icons'][] = ['src' => $meta['icon_192_url'], 'sizes' => '192x192', 'type' => 'image/png'];
    $manifest['icons'][] = ['src' => $meta['icon_192_url'], 'sizes' => '192x192', 'type' => 'image/png', 'purpose' => 'maskable'];
}

if (! empty($meta['icon_512_url'])) {
    $manifest['icons'][] = ['src' => $meta['icon_512_url'], 'sizes' => '512x512', 'type' => 'image/png'];
    $manifest['icons'][] = ['src' => $meta['icon_512_url'], 'sizes' => '512x512', 'type' => 'image/png', 'purpose' => 'maskable'];
}

header('Content-Type: application/manifest+json');
header('Cache-Control: public, max-age=3600');

echo json_encode($manifest, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
