quality / changes (push) Successful in 8s
quality / go (push) Skipped
quality / bird2 (push) Skipped
quality / commitlint (push) Skipped
quality / docker-check (push) Skipped
quality / openapi (push) Successful in 22s
quality / web (push) Successful in 56s
CD / quality (push) Successful in 1m30s
CD / publish (push) Successful in 2m53s
Создание модуля перенесено в боковую Sheet, как community и редактирование. /modules/new и быстрые ссылки открывают список с ?create=true. Co-authored-by: Cursor <cursoragent@cursor.com>
30 lines
821 B
TypeScript
30 lines
821 B
TypeScript
import { Boxes, Plus } from 'lucide-react'
|
|
|
|
import { IllustratedEmptyState } from '@/components/patterns/illustrated-empty-state'
|
|
import { Button } from '@evobgp/ui/components/button'
|
|
|
|
/** empty-state-3 pattern for first module. */
|
|
export function ProjectsEmptyState({
|
|
canCreate = true,
|
|
onCreate,
|
|
}: {
|
|
canCreate?: boolean
|
|
onCreate?: () => void
|
|
}) {
|
|
return (
|
|
<IllustratedEmptyState
|
|
icon={Boxes}
|
|
title="Создайте первый модуль"
|
|
description="Модули задают источники префиксов: AS, CDN, домены и IP-диапазоны."
|
|
action={
|
|
canCreate && onCreate ? (
|
|
<Button size="sm" onClick={onCreate}>
|
|
<Plus />
|
|
Новый модуль
|
|
</Button>
|
|
) : undefined
|
|
}
|
|
/>
|
|
)
|
|
}
|