Update to sveltekit 1.0 + fix warnings
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
nemunaire 2022-12-15 15:15:38 +01:00
parent ba5b8570b7
commit c692e34fdf
18 changed files with 446 additions and 355 deletions

724
ui/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -11,8 +11,8 @@
"format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. ."
},
"devDependencies": {
"@sveltejs/adapter-static": "^1.0.0-next.29",
"@sveltejs/kit": "^1.0.0-next.324",
"@sveltejs/adapter-static": "^1.0.0",
"@sveltejs/kit": "^1.0.0",
"@typescript-eslint/eslint-plugin": "^5.21.0",
"@typescript-eslint/parser": "^5.0.0",
"eslint": "^8.14.0",
@ -24,12 +24,12 @@
"svelte-check": "^2.7.0",
"svelte-preprocess": "^5.0.0",
"tslib": "^2.4.0",
"typescript": "^4.6.4"
"typescript": "^4.6.4",
"vite": "^4.0.0"
},
"type": "module",
"dependencies": {
"dayjs": "^1.11.5",
"svelte-frappe-charts": "^1.9.1",
"vite": "^4.0.0"
"svelte-frappe-charts": "^1.9.1"
}
}

View File

@ -20,7 +20,7 @@
{:else if state.status == "success"}
<i class="bi bi-check-circle-fill text-success mx-1" title="La récupération s'est bien passée"></i>
{:else if state.status == "failure" || state.status == "killed"}
<i class="bi bi-exclamation-circle-fill text-danger mx-1" title="La récupération ne s'est pas bien passée" style="cursor: pointer" on:click={() => dispatch('show_logs')}></i>
<i class="bi bi-exclamation-circle-fill text-danger mx-1" title="La récupération ne s'est pas bien passée" style="cursor: pointer" on:click={() => dispatch('show_logs')} on:keypress={() => dispatch('show_logs')}></i>
{:else}
{state.status}
{/if}

View File

@ -47,7 +47,7 @@
</span>
<div>
{#each res[rep] as user}
<a href="users/{user}" target="_blank" class="badge bg-dark rounded-pill">
<a href="users/{user}" target="_blank" rel="noreferrer" class="badge bg-dark rounded-pill">
{#if users && users[user]}
{users[user].login}
{:else}
@ -64,7 +64,7 @@
<span>
{rep}
</span>
<a href="users/{res[rep]}" target="_blank" class="badge bg-dark rounded-pill">
<a href="users/{res[rep]}" target="_blank" rel="noreferrer" class="badge bg-dark rounded-pill">
{#if users && users[res[rep]]}
{users[res[rep]].login}
{:else}

View File

@ -4,9 +4,6 @@
import DateFormat from '$lib/components/DateFormat.svelte';
import { getUserRendu } from '$lib/works';
let className = '';
export { className as class };
export let work = null;
export let user = null;

View File

@ -76,7 +76,12 @@
{/if}
{#if $user && (sid == 0 || surveys[sid-1].id_category != survey.id_category) && categories[survey.id_category]}
<tr class="bg-primary text-light">
<th colspan="5" class="fw-bold" on:click={() => categories[survey.id_category].expand = !categories[survey.id_category].expand}>
<th
colspan="5"
class="fw-bold"
on:click={() => categories[survey.id_category].expand = !categories[survey.id_category].expand}
on:keypress={() => categories[survey.id_category].expand = !categories[survey.id_category].expand}
>
{#if categories[survey.id_category].expand}
<i class="bi bi-chevron-down"></i>
{:else}
@ -85,14 +90,17 @@
{categories[survey.id_category].label}
{#if $user && $user.is_admin}
<a href="categories/{survey.id_category}" class="float-end btn btn-sm btn-light" style="margin: -6px;">
<i class="bi bi-pencil" on:click={() => categories[survey.id_category].expand = !categories[survey.id_category].expand}></i>
<i class="bi bi-pencil"></i>
</a>
{/if}
</th>
</tr>
{/if}
{#if categories[survey.id_category] && categories[survey.id_category].expand}
<tr on:click={e => gotoSurvey(survey)}>
<tr
on:click={e => gotoSurvey(survey)}
on:keypress={e => gotoSurvey(survey)}
>
<td>
{#if !survey.shown}<i class="bi bi-eye-slash-fill" title="Ce questionnaire n'est pas affiché aux étudiants"></i>{/if}
{survey.title}

View File

@ -159,12 +159,12 @@
<span>Récupération de vos dépôts GitLab &hellip;</span>
</div>
{:then rrepos}
<select class="form-select col" disabled={readonly} bind:value={repo_used.uri}>
<select id="repolist" class="form-select col" disabled={readonly} bind:value={repo_used.uri}>
{#each rrepos as r (r.Id)}
<option value={r.ssh_url_to_repo}>{r.path_with_namespace}</option>
{/each}
</select>
<label>Dépôt GitLab pour ce travail&nbsp;:</label>
<label for="repolist">Dépôt GitLab pour ce travail&nbsp;:</label>
<button
type="submit"
class="mt-2 btn btn-primary"
@ -214,6 +214,7 @@
</p>
<div class="form-group mb-3">
<label class="form-label" for="repo-address">Adresse du dépôt</label>
<!-- svelte-ignore a11y-autofocus -->
<input class="form-control" id="repo-address" autofocus placeholder="git@git.mydomain.net:path/to/repo.git" bind:value={repo_used.uri}>
</div>
<p>

View File

@ -83,7 +83,7 @@
</li>
{/if}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">
<a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#nav" role="button" aria-expanded="false">
<img class="rounded-circle" src="//photos.cri.epita.fr/square/{$user.login}" alt="Menu" style="margin: -0.75em 0; max-height: 2.5em; border: 2px solid white;">
</a>
<ul class="dropdown-menu dropdown-menu-end">

View File

@ -55,6 +55,7 @@
<form class="col" on:submit|preventDefault={logmein}>
<h2>Accès à votre compte</h2>
<div class="form-floating mb-3">
<!-- svelte-ignore a11y-autofocus -->
<input type="text" class="form-control" id="login" bind:value={auth.username} placeholder="xavier.login" autofocus>
<label for="login">CRI login</label>
</div>

View File

@ -59,7 +59,7 @@
<div class="alert alert-warning d-flex">
<i class="bi bi-exclamation-triangle me-3"></i>
<span>
À toute fin utile, l'usage et la non-divulgation d'une vulnérabilité sont <a href="https://www.legifrance.gouv.fr/codes/id/LEGISCTA000006149839/" target="_blank">sanctionnables</a>.
À toute fin utile, l'usage et la non-divulgation d'une vulnérabilité sont <a href="https://www.legifrance.gouv.fr/codes/id/LEGISCTA000006149839/" target="_blank" rel="noreferrer">sanctionnables</a>.
</span>
</div>
@ -76,7 +76,7 @@
</div>
<p class="card-text mt-3">
Divulguée et corrigée le 19 novembre 2022.
<a href="https://git.nemunai.re/srs/atsebay.t/commit/f675047ce8f6636aa45336b56c069172330b050f" target="_blank">Commit</a>
<a href="https://git.nemunai.re/srs/atsebay.t/commit/f675047ce8f6636aa45336b56c069172330b050f" target="_blank" rel="noreferrer">Commit</a>
</p>
</div>
</div>
@ -97,7 +97,7 @@
</div>
<p class="card-text mt-3">
Divulguée et corrigée le 19 novembre 2021.
<a href="https://git.nemunai.re/srs/atsebay.t/commit/5c53d2eaea9e7233bc8a08de2f40c040c0700c3e" target="_blank">Commit</a>
<a href="https://git.nemunai.re/srs/atsebay.t/commit/5c53d2eaea9e7233bc8a08de2f40c040c0700c3e" target="_blank" rel="noreferrer">Commit</a>
</p>
</div>
</div>

View File

@ -131,7 +131,7 @@
<h3>Mesure d'audience</h3>
<p>
Le site <code>lessons.nemunai.re</code> utilise un outil de mesure d'audience&nbsp;: <a href="https://umami.is" target="_blank">Umami</a>.
Le site <code>lessons.nemunai.re</code> utilise un outil de mesure d'audience&nbsp;: <a href="https://umami.is" target="_blank" rel="noreferrer">Umami</a>.
Cet outil collecte des informations sur les pages visitées en anonymisant les données personnelles (l'IP notamment).
</p>

View File

@ -125,7 +125,7 @@ ZWxxdWUgY2hvc2UK ...
Votre clef PGP peut vous servir à sécuriser les échanges de courriers électroniques. Par exemple les courriels officiels sur les listes de diffusion sensibles sont systématiquement signés (pour attester que c'est le responsable du projet qui en est bien à l'origine) ou encore si vous ne voulez pas que des tiers exploitent vos communications et/ou données personnelles (dans ce cas, on chiffre le contenu pour qu'il ne soit lisible que par le(s) destinataire(s) attendus).
</p>
<p>
Avec git, vous pouvez signer chacun de <a href="https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/" target="_blank">vos commits</a>, ou <a href="https://dev.to/shostarsson/how-to-use-pgp-to-sign-your-commits-on-github-gitlab-bitbucket-3dae#fountainpen-sign-tags-using-your-gpg-key" target="_blank">vos tags</a>.<br>
Avec git, vous pouvez signer chacun de <a href="https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/" target="_blank" rel="noreferrer">vos commits</a>, ou <a href="https://dev.to/shostarsson/how-to-use-pgp-to-sign-your-commits-on-github-gitlab-bitbucket-3dae#fountainpen-sign-tags-using-your-gpg-key" target="_blank" rel="noreferrer">vos tags</a>.<br>
Si vous souhaitez contribuer au <a href="https://www.kernel.org/doc/html/latest/process/maintainer-pgp-guide.html">noyau Linux</a> (ou tout autre projet d'envergure), il est nécessaire de signer vos contributions. Cela permet d'éviter <a href="https://www.theregister.com/2021/03/29/php_repository_infected/">un certain nombre d'attaques</a>.
</p>
<p>

View File

@ -389,6 +389,7 @@
<a
href="/surveys/{survey.id}/responses/{question.id}"
target="_blank"
rel="noreferrer"
type="button"
class="btn btn-sm btn-success"
>
@ -471,7 +472,7 @@
<i class="bi bi-check"></i>
</button>
Par
<a href="users/{ask.userid}" target="_blank">
<a href="users/{ask.userid}" target="_blank" rel="noreferrer">
{#if users && users[ask.userid]}
{users[ask.userid].login}
{:else}
@ -597,7 +598,7 @@
<span>
{responses[q][user]}
</span>
<a href="users/{user}" target="_blank" class="badge bg-dark rounded-pill">
<a href="users/{user}" target="_blank" rel="noreferrer" class="badge bg-dark rounded-pill">
{#if users && users[user]}
{users[user].login}
{:else}
@ -663,7 +664,7 @@
<div class="card">
<img alt="{user.login}" src="//photos.cri.epita.fr/thumb/{user.login}" class="card-img-top">
<div class="card-footer text-center text-truncate p-0">
<a href="users/{user.login}" target="_blank">
<a href="users/{user.login}" target="_blank" rel="noreferrer">
{user.login}
</a>
</div>

View File

@ -246,6 +246,7 @@
<div class="row">
<div class="offset-md-1 col-md-10 offset-lg-2 col-lg-8 offset-xl-3 col-xl-6 mb-4">
<div class="input-group">
<!-- svelte-ignore a11y-autofocus -->
<textarea
id="askquestion"
class="form-control"

View File

@ -71,7 +71,7 @@
<div class="card-body">
<div class="row">
<div class="col-md-3 mb-3 text-center">
<a href="https://photos.cri.epita.fr/{student.login}" target="_blank">
<a href="https://photos.cri.epita.fr/{student.login}" target="_blank" rel="noreferrer">
<img src="https://photos.cri.epita.fr/thumb/{student.login}" alt="avatar" class="img-thumbnail" style="max-height: 250px">
</a>
</div>
@ -82,7 +82,7 @@
<dt class="col-2">Login</dt>
<dd class="col-10">
<a href="//cri.epita.fr/users/{student.login}" target="_blank">
<a href="//cri.epita.fr/users/{student.login}" target="_blank" rel="noreferrer">
{student.login}
</a>
</dd>

View File

@ -70,7 +70,12 @@
{/if}
{#if $user && (wid == 0 || works[wid-1].id_category != work.id_category) && categories[work.id_category]}
<tr class="bg-primary text-light">
<th colspan="5" class="fw-bold" on:click={() => categories[work.id_category].expand = !categories[work.id_category].expand}>
<th
colspan="5"
class="fw-bold"
on:click={() => categories[work.id_category].expand = !categories[work.id_category].expand}
on:keypress={() => categories[work.id_category].expand = !categories[work.id_category].expand}
>
{#if categories[work.id_category].expand}
<i class="bi bi-chevron-down"></i>
{:else}
@ -79,7 +84,7 @@
{categories[work.id_category].label}
{#if $user && $user.is_admin}
<a href="categories/{work.id_category}" class="float-end btn btn-sm btn-light" style="margin: -6px;">
<i class="bi bi-pencil" on:click={() => categories[work.id_category].expand = !categories[work.id_category].expand}></i>
<i class="bi bi-pencil"></i>
</a>
{/if}
</th>

View File

@ -129,12 +129,12 @@
{#if !w.corrected && w.submission_url != "-"}
<p>
Pour rendre votre travail, vous devez préalablement créer un dépôt Git sur la <a href="https://gitlab.cri.epita.fr/" target="_blank">forge de l'école</a>.<br>Ce dépôt DOIT&nbsp;:
Pour rendre votre travail, vous devez préalablement créer un dépôt Git sur la <a href="https://gitlab.cri.epita.fr/" target="_blank" rel="noreferrer">forge de l'école</a>.<br>Ce dépôt DOIT&nbsp;:
</p>
<ul>
<li>être dans l'espace de nom de votre utilisateur (à la fin de la liste des <span class="fst-italic">namespaces</span>),</li>
<li>avoir la visibilité «&nbsp;Privé&nbsp;»,</li>
<li>avoir invité <a href="https://gitlab.cri.epita.fr/nemunaire" target="_blank" style="font-family: monospace">nemunaire</a> avec le rôle <span class="fst-italic">Reporter</span> une fois le dépôt créé.</li>
<li>avoir invité <a href="https://gitlab.cri.epita.fr/nemunaire" target="_blank" style="font-family: monospace" rel="noreferrer">nemunaire</a> avec le rôle <span class="fst-italic">Reporter</span> une fois le dépôt créé.</li>
</ul>
{#if w.tag}

View File

@ -144,6 +144,7 @@
<div class="modal-body">
<div class="form-group row mb-2">
<label class="col-2 col-form-label" for="pull-tag">Tag</label>
<!-- svelte-ignore a11y-autofocus -->
<input class="form-control col" id="pull-tag" autofocus placeholder={w.tag} bind:value={run_pull_for.struct.tag}>
</div>
<div class="form-check">