/
Netrunners
/
Millenium_UI
Обзор
Документация
Войти
/
Netrunners
/
Millenium_UI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/lib/components/admin/Users/Groups/GroupItem.svelte
84 строки
2 KB
Валерий Конюхов
first_commit
08 июл 2025, 22:20
08 июл 2025, 22:20
a4e8dc9
Код
Авторство
О чём код?
<script> import { toast } from 'svelte-sonner'; import { getContext } from 'svelte'; const i18n = getContext('i18n'); import { deleteGroupById, updateGroupById } from '$lib/apis/groups'; import Pencil from '$lib/components/icons/Pencil.svelte'; import User from '$lib/components/icons/User.svelte'; import UserCircleSolid from '$lib/components/icons/UserCircleSolid.svelte'; import GroupModal from './EditGroupModal.svelte'; export let users = []; export let group = { name: 'Admins', user_ids: [1, 2, 3] }; export let setGroups = () => {}; let showEdit = false; const updateHandler = async (_group) => { const res = await updateGroupById(localStorage.token, group.id, _group).catch((error) => { toast.error(`${error}`); return null; }); if (res) { toast.success($i18n.t('Group updated successfully')); setGroups(); } }; const deleteHandler = async () => { const res = await deleteGroupById(localStorage.token, group.id).catch((error) => { toast.error(`${error}`); return null; }); if (res) { toast.success($i18n.t('Group deleted successfully')); setGroups(); } }; </script> <GroupModal bind:show={showEdit} edit {users} {group} onSubmit={updateHandler} onDelete={deleteHandler} /> <button class="flex items-center gap-3 justify-between px-1 text-xs w-full transition" on:click={() => { showEdit = true; }} > <div class="flex items-center gap-1.5 w-full font-medium"> <div> <UserCircleSolid className="size-4" /> </div> {group.name} </div> <div class="flex items-center gap-1.5 w-full font-medium"> {group.user_ids.length} <div> <User className="size-3.5" /> </div> </div> <div class="w-full flex justify-end"> <div class=" rounded-lg p-1 hover:bg-gray-100 dark:hover:bg-gray-850 transition"> <Pencil className="size-3.5" /> </div> </div> </button>