'use client'; import clsx from 'clsx'; import { useState } from 'react'; import { useUsers } from '@/backend/users/useUsers'; import { IconRemove } from '@/components/Icons'; import SelectUser from '@/components/select/SelectUser'; import { MiniButton } from '@/components/ui/Control'; import { Label } from '@/components/ui/Input'; import { ModalForm } from '@/components/ui/Modal'; import { UserID } from '@/models/user'; import { useDialogsStore } from '@/stores/dialogs'; import TableUsers from './TableUsers'; export interface DlgEditEditorsProps { editors: UserID[]; onChangeEditors: (newValue: UserID[]) => void; } function DlgEditEditors() { const { editors, onChangeEditors } = useDialogsStore(state => state.props as DlgEditEditorsProps); const [selected, setSelected] = useState(editors); const { users } = useUsers(); function handleSubmit() { onChangeEditors(selected); return true; } 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;