'use client'; import clsx from 'clsx'; import { useState } from 'react'; import { IconRemove } from '@/components/Icons'; import SelectUser from '@/components/select/SelectUser'; import Label from '@/components/ui/Label'; import MiniButton from '@/components/ui/MiniButton'; import Modal from '@/components/ui/Modal'; import { useUsers } from '@/context/UsersContext'; import { UserID } from '@/models/user'; import TableUsers from './TableUsers'; interface DlgEditEditorsProps { editors: UserID[]; setEditors: (newValue: UserID[]) => void; hideWindow: () => void; } function DlgEditEditors({ hideWindow, editors, setEditors }: DlgEditEditorsProps) { const [selected, setSelected] = useState(editors); const { users } = useUsers(); const filtered = users.filter(user => !selected.includes(user.id)); function handleSubmit() { setEditors(selected); } function onDeleteEditor(target: UserID) { setSelected(prev => prev.filter(id => id !== target)); } function onAddEditor(target: UserID) { setSelected(prev => [...prev, target]); } return (
Всего редакторов [{selected.length}] } disabled={selected.length === 0} onClick={() => setSelected([])} />
selected.includes(user.id))} onDelete={onDeleteEditor} />
); } export default DlgEditEditors;