{% trans_default_domain 'Modules.Prestaconnector.Admin' %}
{% if vat_alert %}
<div class="panel" style="border: 1px dotted crimson; background: #dd00000d; ">
    <div class="panel-heading" style="background: initial">
        <i class="icon-warning"></i>
        <span style="animation: blinker 1s linear infinite; color: crimson;">Attention&nbsp;: TVA&nbsp;Européenne</span>
    </div>
    <p>
        Vous générez plus de {{vat_limit|number_format(0, null, ' ')}}&nbsp;€ de chiffre d'affaires, 
        <strong>vous devez donc obligatoirement appliquer le taux de TVA du pays de livraison</strong> pour les ventes à destination d'un pays européen.
    </p>
    <p>
        Hors, nous avons détecté que les taxes <strong>ne sont pas correctement configurées</strong>.<br> 
        <a href="{{ path('polarisprestaconnector_vat_report') }}&settax=1">Cliquez-ici pour mettre à jour vos taxes</a>.
    </p>  
</div>
{% endif %}
<div class="panel">
	<div class="panel-heading" style="padding-bottom: 0.7ex;">        
        <i class="icon-refresh"></i>
        {{ title_name }}
        <div style="display: block; text-align: right; margin: 0; padding: 0; font-size: 8pt; line-height: 8pt;">
            <div style="color: #666;">{{ module_name }} — <span style="white-space: nowrap;">{{'Version'|trans}} {{ module_version }}</span></div>
        </div>
    </div>
    <p style="color: #666;">Il est <span id="current_time">{{ "now"|date("H:i:s") }}</span></p>
    <div id="{{ module_name }}_dashboard_progress">
        ...        
    </div>
    {#<p id="ppc_status" data-status-url="{{statusUrl}}">
        <i class="icon icon-refresh icon-spin"></i>&nbsp;&nbsp;<span class="ppc_label">{{'Waiting status...'|trans}}</span>
    </p>#}    
    <hr>
    <p style="display:flex; justify-content: space-around;">        
        <a id="page-header-desc-configuration-run" href="javascript: {{ module_name }}_runAndRefresh();" title="Démarrer la synchronisation maintenant"><i class="material-icons">play_circle</i></a>
        <a href="{{auditUrl}}" title="Consulter les journaux d'audit"><i class="material-icons">notes</i></a>
        <a href="{{logsUrl}}" title="Consulter les journaux Prestashop"><i class="material-icons">warning</i></a>
        {% if show_cfg %}
        <a href="{{configUrl}}" title="Configuration" style="color: royalblue;"><i class="material-icons">settings</i></a>
        <a href="{{clearCacheUrl}}" title="Vider le cache" style="color: darkgreen;"><i class="material-icons">delete</i></a>
        {% endif %}
    </p>

    <!-- javascript spécifique pour le dashboard -->
    <script type="text/javascript">
        // Quand la page est ready
        $(document).ready(function() {
            {{ module_name }}_dashboardSyncProgressShow(JSON.parse(atob('{{ progress | raw }}')));

            // On appelle une fonction async avec setInterval toutes les 5 secondes
            setInterval(async () => {
                let progress = await {{ module_name }}_getSyncProgress();
                await {{ module_name }}_dashboardSyncProgressShow(progress);
            }, 30000);
                        
            let serverDiffTime = new Date() - new Date("{{ "now"|date }}");                       
            setInterval(() => {
                // On affiche l'heure courante, en calculant la différence avec l'heure serveur pour éviter les problèmes de décalage
                let currentTime = new Date(new Date().getTime() - serverDiffTime);                
                $('#current_time').text(currentTime.toLocaleTimeString());
            }, 1000);
        });

        async function {{ module_name }}_runAndRefresh() {
            // On lance un run avec un callback une fois envoyé puis fini !
            polarisprestaconnector_dashboardSyncProgressShow(JSON.parse(`{"steps":{"init":{"m":"Initialisation…","d":0,"n":1}},"startTime":` + (Date.now() / 1000) + `,"running":true}`));
            await {{ module_name }}_run('{{ cronGuardToken }}');
            await {{ module_name }}_dashboardSyncProgressShow(await {{ module_name }}_getSyncProgress());
        }
    </script>
</div> 