@@ -717,7 +717,7 @@ function AgentsPage() {
}
emptyDescription={
items.length === 0
- ? 'Создайте агента — он появится в каталоге как Invited с командой установки.'
+ ? 'Создайте агента — он появится в каталоге со статусом «Приглашён» и командой установки.'
: undefined
}
emptyAction={items.length === 0 ? addButton : undefined}
diff --git a/apps/web/src/routes/_auth/lists/$id.tsx b/apps/web/src/routes/_auth/lists/$id.tsx
index 8e72144..8b6e682 100644
--- a/apps/web/src/routes/_auth/lists/$id.tsx
+++ b/apps/web/src/routes/_auth/lists/$id.tsx
@@ -311,6 +311,29 @@ function ListDetailPage() {
)
}
+ if (listQ.isError) {
+ return (
+
+
+
+ Ошибка загрузки
+
+ {listQ.error?.message ?? 'Не удалось загрузить список'}
+
+
+
+
+ )
+ }
+
if (!detail) {
return (
diff --git a/apps/web/src/routes/_auth/rules/$setId.tsx b/apps/web/src/routes/_auth/rules/$setId.tsx
index d5c4d85..7a92083 100644
--- a/apps/web/src/routes/_auth/rules/$setId.tsx
+++ b/apps/web/src/routes/_auth/rules/$setId.tsx
@@ -2,6 +2,7 @@ import { createFileRoute, Link } from '@tanstack/react-router'
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
import { toast } from 'sonner'
import {
+ CircleAlertIcon,
ListIcon,
ShieldIcon,
UsersIcon,
@@ -9,6 +10,11 @@ import {
import { useMemo, useState } from 'react'
import type { ColumnDef, RowSelectionState } from '@tanstack/react-table'
import { PageShell, DetailPanel } from '@/components/reui-kit'
+import {
+ Alert,
+ AlertDescription,
+ AlertTitle,
+} from '@/components/reui/alert'
import { DataGridColumnHeader } from '@/components/reui/data-grid/data-grid-column-header'
import { DataGridPrimaryCell } from '@/components/data-grid-cell'
import { StatusBadge } from '@/components/status-badge'
@@ -271,6 +277,31 @@ function PolicySetDetailPage() {
)
}
+ if (setQ.isError) {
+ return (
+
+
+
+ Ошибка загрузки
+
+
+ {setQ.error?.message ?? 'Не удалось загрузить набор правил'}
+
+
+
+
+
+ )
+ }
+
if (!setQ.data) {
return (