test commit
This commit is contained in:
@@ -9,6 +9,7 @@ import TableRow from '@mui/material/TableRow'
|
||||
import TextField from '@mui/material/TextField'
|
||||
import Typography from '@mui/material/Typography'
|
||||
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
|
||||
import { useUnit } from 'effector-react'
|
||||
import { Controller, useForm } from 'react-hook-form'
|
||||
import { Link as RouterLink } from 'react-router-dom'
|
||||
import { createAdminUser, deleteAdminUser, fetchAdminUsers, updateAdminUser } from '@/entities/user/api/user-api'
|
||||
@@ -16,6 +17,7 @@ import type { AdminUser } from '@/entities/user/model/types'
|
||||
import { getErrorMessage } from '@/shared/lib/get-error-message'
|
||||
import { invalidateQueryKeys } from '@/shared/lib/invalidate-query-keys'
|
||||
import { useEditDialogState } from '@/shared/lib/use-edit-dialog-state'
|
||||
import { $user } from '@/shared/model/auth'
|
||||
import { AdminDialog } from '@/shared/ui/AdminDialog/AdminDialog'
|
||||
import { AdminTable } from '@/shared/ui/AdminTable'
|
||||
import { EntityRowActions } from '@/shared/ui/EntityRowActions'
|
||||
@@ -44,6 +46,8 @@ export function AdminUsersPage() {
|
||||
const [q, setQ] = useState('')
|
||||
const [page, setPage] = useState(0)
|
||||
const [rowsPerPage, setRowsPerPage] = useState(20)
|
||||
const currentUser = useUnit($user)
|
||||
const currentUserId = currentUser?.id
|
||||
|
||||
const userForm = useForm<UserFormState>({
|
||||
defaultValues: emptyUserForm(),
|
||||
@@ -192,7 +196,7 @@ export function AdminUsersPage() {
|
||||
<TableCell align="right">
|
||||
<EntityRowActions
|
||||
onEdit={() => openEdit(u)}
|
||||
onDelete={() => deleteMut.mutate(u.id)}
|
||||
onDelete={u.id === currentUserId ? undefined : () => deleteMut.mutate(u.id)}
|
||||
deleteDisabled={deleteMut.isPending}
|
||||
confirmDeleteMessage={`Удалить пользователя ${u.email}?`}
|
||||
/>
|
||||
@@ -237,7 +241,15 @@ export function AdminUsersPage() {
|
||||
<Controller
|
||||
control={userForm.control}
|
||||
name="email"
|
||||
render={({ field }) => <TextField label="Почта" fullWidth required {...field} />}
|
||||
render={({ field }) => (
|
||||
<TextField
|
||||
label="Почта"
|
||||
fullWidth
|
||||
required
|
||||
disabled={Boolean(editing && editing.id === currentUserId)}
|
||||
{...field}
|
||||
/>
|
||||
)}
|
||||
/>
|
||||
<Controller
|
||||
control={userForm.control}
|
||||
|
||||
Reference in New Issue
Block a user