diff --git a/apps/web/src/components/agents/add-agent-sheet.tsx b/apps/web/src/components/agents/add-agent-sheet.tsx index 4a5c521..74cb36c 100644 --- a/apps/web/src/components/agents/add-agent-sheet.tsx +++ b/apps/web/src/components/agents/add-agent-sheet.tsx @@ -23,23 +23,12 @@ import { SheetHeader, SheetTitle, } from '@evofw/ui/components/sheet' -import { - Stepper, - StepperContent, - StepperIndicator, - StepperItem, - StepperNav, - StepperPanel, - StepperSeparator, - StepperTitle, - StepperTrigger, -} from '@/components/reui/stepper' import { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard' /** - * Add agent wizard — Stepper in Sheet. - * Preview: https://reui.io/preview/base/solution-agents-6 · sheet-8 - * Docs: https://reui.io/docs/components/base/stepper + * Create agent install invite — Sheet (single form, no wizard). + * Preview: https://reui.io/preview/base/sheet-8 · sheet-1 + * Docs: https://ui.shadcn.com/docs/components/base/sheet */ type Platform = 'linux' | 'mikrotik' @@ -57,7 +46,6 @@ interface AddAgentSheetProps { export function AddAgentSheet({ open, onOpenChange }: AddAgentSheetProps) { const qc = useQueryClient() const { copyToClipboard } = useCopyToClipboard() - const [step, setStep] = useState(1) const [name, setName] = useState('web-01') const [platform, setPlatform] = useState('linux') const [created, setCreated] = useState(null) @@ -67,7 +55,6 @@ export function AddAgentSheet({ open, onOpenChange }: AddAgentSheetProps) { setCreated(null) setName('web-01') setPlatform('linux') - setStep(1) } }, [open]) @@ -79,7 +66,6 @@ export function AddAgentSheet({ open, onOpenChange }: AddAgentSheetProps) { }), onSuccess: (link) => { setCreated(link) - setStep(4) toast.success('Агент создан') void qc.invalidateQueries({ queryKey: ['agents'] }) }, @@ -94,177 +80,102 @@ export function AddAgentSheet({ open, onOpenChange }: AddAgentSheetProps) { toast.success('Скопировано') } - function resetWizard() { - setCreated(null) - setName('web-01') - setPlatform('linux') - setStep(1) - } - return ( - + {created ? 'Команда установки' : 'Добавить агента'} {created - ? 'Агент в списке (Invited). Скопируйте one-liner на хост.' - : 'Платформа → имя → подтверждение → install.'} + ? 'Агент уже в списке (Invited). Скопируйте one-liner и выполните на хосте.' + : 'Создайте агента и короткую install-ссылку.'} -
- - - {( - [ - [1, 'Платформа'], - [2, 'Имя'], - [3, 'Обзор'], - [4, 'Install'], - ] as const - ).map(([n, label], idx, arr) => ( - n} - disabled={n === 4 && !created} +
+ {!created ? ( + <> + + Имя клиента + setName(e.target.value)} + placeholder="web-01" + /> + + + Платформа + { - if (v === 'linux' || v === 'mikrotik') setPlatform(v) - }} + + + + + {PLATFORM_ITEMS.map((item) => ( + + {item.label} + + ))} + + + + + ) : ( + <> + + По id +
+
+                      {created.curl?.by_id}
+                    
+
- - - - {created ? ( - <> - - По id -
-
-                            {created.curl?.by_id}
-                          
- -
-
- - Короткий slug -
-
-                            {created.curl?.by_slug}
-                          
- -
-
- - ) : ( -

- Сначала создайте агента на шаге «Обзор». -

- )} -
- - +
+ + Короткий slug +
+
+                      {created.curl?.by_slug}
+                    
+ +
+
+ + )}
{created ? ( <> - @@ -274,29 +185,9 @@ export function AddAgentSheet({ open, onOpenChange }: AddAgentSheetProps) { - {step > 1 ? ( - - ) : null} - {step < 3 ? ( - - ) : ( - - )} + )} diff --git a/apps/web/src/routes/_auth/agents/$id.tsx b/apps/web/src/routes/_auth/agents/$id.tsx index 58a7f05..1260412 100644 --- a/apps/web/src/routes/_auth/agents/$id.tsx +++ b/apps/web/src/routes/_auth/agents/$id.tsx @@ -235,24 +235,6 @@ function AgentDetailPage() { {a.last_apply_error} ) : null} - {a.status === 'pending' ? ( - - - Ожидает approve - - Агент записался, но политика не выдаётся до одобрения. - - - ) : null} - {a.status === 'invited' ? ( - - - Invited - - Скопируйте install-команду и выполните на хосте. - - - ) : null}