This repository has been archived on 2024-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
atsebay.t/ui/src/routes/index.svelte

85 lines
3.8 KiB
Svelte

<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">
{#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>
<div class="mb-5"></div>