blob: a0c80c7888f876fb4ac6ed59bdd9a54489923678 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<script lang="ts">
import type { IUser } from '$lib/stores/auth';
import { addToast } from '$lib/stores/toast';
import Avatar from '../Avatar.svelte';
let { users = $bindable<IUser[]>([]) }: { users: IUser[] } = $props();
</script>
<div>
{#each users as u, i}
<Avatar
username={u.displayName}
url={u.avatar}
onclick={() => {
users = users.filter((_, index) => index !== i);
}}
/>
{/each}
<Avatar
username={'Ajouter un utilisateur'}
url={'/icons/add-green.svg'}
onclick={() => {
let userId = prompt("Entrez l'ID de l'utilisateur à ajouter :");
if (userId === null || userId.trim() === '') {
addToast({ title: 'ID utilisateur invalide.' });
return;
}
if (users.map((u) => u.displayName).includes(userId)) {
addToast({ title: 'Cet utilisateur est déjà ajouté.' });
return;
}
users = [...users, { displayName: userId, avatar: '/img/default-avatar.png' } as IUser];
}}
/>
</div>
|