<?php

namespace App\Http\Controllers\Web;

use App\Http\Controllers\Controller;

class DownloadController extends Controller
{
    // Page publique de téléchargement des applications mobiles
    public function index()
    {
        return view('telecharger', [
            'android' => $this->resoudre('android'),
            'ios' => $this->resoudre('ios'),
        ]);
    }

    /**
     * Détermine, pour une plateforme, le lien de téléchargement et sa disponibilité.
     *
     * @return array{version: string, url: string|null, disponible: bool}
     */
    private function resoudre(string $plateforme): array
    {
        $config = config("mobile.{$plateforme}");
        if (! is_array($config)) {
            $config = [];
        }

        $version = is_string($config['version'] ?? null) ? $config['version'] : '1.0.0';
        $url = (is_string($config['url'] ?? null) && $config['url'] !== '') ? $config['url'] : null;
        $file = is_string($config['file'] ?? null) ? $config['file'] : null;

        // À défaut d'URL explicite, on propose le fichier précompilé s'il existe.
        if ($url === null && $file !== null && file_exists(public_path($file))) {
            $url = asset($file);
        }

        return [
            'version' => $version,
            'url' => $url,
            'disponible' => $url !== null,
        ];
    }
}
