<script lang="ts">
 import { user } from '../stores/user';
 import { getUser, getUserNeedingHelp } from '../lib/users';
 import DateFormat from '../components/DateFormat.svelte';
 import SurveyList from '../components/SurveyList.svelte';
 import ValidateSubmissions from '../components/ValidateSubmissions.svelte';

 let direct = null;

 let users_needing_help = [];
 $: if ($user && $user.is_admin) {
     users_needing_help = getUserNeedingHelp();
 }

 async function mark_needhelp_treated(unh) {
     unh.mark_treated();

     unh.save().then(() => {
         users_needing_help = getUserNeedingHelp();
     });
 }
</script>

<div class="card bg-light">
    <div class="card-body pb-5">
        {#if $user}
            <h1 class="card-text">
                Bienvenue {$user.firstname}&nbsp;!
            </h1>
            <hr class="my-4">

            {#if $user.promo != $user.current_promo}
                <div class="alert alert-primary" role="alert">
                    <strong>Es-tu un {$user.current_promo}&nbsp;?</strong> Tu es actuellement enregistré comme un {$user.promo}, ce qui ne te permet pas d'accéder aux questionnaires de la promo {$user.current_promo}. <a href="mailto:nemunaire@nemunai.re?subject=Mauvaise promotion sur srs.nemunai.re&body=Bonjour, Je ne suis pas enregistré dans la bonne promotion sur le site srs.nemunai.re. Cordialement,">Contacte-moi</a> pour corriger cela.
                </div>
            {/if}

            {#if direct}
                <div class="alert alert-warning" role="alert">
                    <strong>Rejoins le cours maintenant&nbsp;!</strong> Il y a actuellement un questionnaire en direct&nbsp;: {direct.title}. <a href="surveys/{direct.id}/live">Clique ici pour le rejoindre</a>.
                </div>
            {/if}

            {#if $user.is_admin}
                <p class="lead">Demande d'aide&nbsp;:</p>
                {#await users_needing_help}
                    <span class="spinner-border spinner-border" role="status" aria-hidden="true"></span>
                {:then nhs}
                    <ul style="columns: 2">
                        {#each nhs as user (user.id)}
                            <li>
                                {#await getUser(user.id_user)}
                                    <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
                                {:then u}
                                    <a href="users/{u.id}">{u.login}</a>
                                {/await}
                                (<DateFormat date={user.date} dateStyle="medium" timeStyle="medium" />)
                                <button
                                    type="button"
                                    class="btn btn-sm btn-info"
                                    on:click={e => {mark_needhelp_treated(user)}}
                                >
                                    <i class="bi bi-check" title="Marquer la demande d'aide comme traîtée"></i>
                                </button>
                            </li>
                        {/each}
                    </ul>
                {/await}
            {/if}

            <p class="lead">Voici la liste des travaux&nbsp;:</p>
        {:else}
            <p class="card-text lead">
                Vous voici arrivés sur le site dédié aux cours d'<a href="https://adlin.nemunai.re/">Administration Linux avancée</a>, du <a href="https://srs.nemunai.re/fic/">FIC</a> et de <a href="https://virli.nemunai.re/">Virtualisation légère</a>.
            </p>
            <p class="card-text">
                Vous devez <a href="auth/CRI" target="_self">vous identifier</a> pour accéder au contenu.
            </p>
        {/if}
        <SurveyList allworks bind:direct={direct} />
    </div>

    <div class="card-footer">
        Ce site traite des données personnelles,
        <a href="donnees-personnelles">en apprendre davantage</a>.
    </div>
</div>

<div class="mb-5"></div>
