Enhance frontend documentation and UI components; update frontend-shadcn.mdc to include UI patterns reference; improve navigation structure in AppSidebar by categorizing items; refactor DataTableCard to support empty states with EmptyState component; implement ConfirmDialog for delete actions in DnsRecordsTable and GroupsPage; add search functionality in CertificatesPage and GroupsPage for better user experience; update ServiceEditSheet to utilize tabs for organization.
Build, Test, and Push CFDM Docker Image / test (push) Has been cancelled
Build, Test, and Push CFDM Docker Image / build-and-push (push) Has been cancelled
Build, Test, and Push CFDM Docker Image / create-release (push) Has been cancelled
Build, Test, and Push CFDM Docker Image / update-wiki (push) Has been cancelled

This commit is contained in:
Denozordec
2026-06-19 12:15:29 +07:00
parent d11414666f
commit 4a70cf5854
32 changed files with 1546 additions and 435 deletions
+4 -20
View File
@@ -14,16 +14,11 @@ import {
serviceBindingsQueryOptions,
} from '@/queries'
import { PageHeader } from '@/components/page-header'
import { PageShell } from '@/components/page-shell'
import { DataTableCard } from '@/components/data-table-card'
import { DomainsDataTable } from '@/components/domains-data-table'
import { Button } from '@cfdm/ui/components/button'
import { Input } from '@cfdm/ui/components/input'
import {
Card,
CardDescription,
CardHeader,
CardTitle,
} from '@cfdm/ui/components/card'
import {
Field,
FieldGroup,
@@ -137,10 +132,10 @@ function DomainsPage() {
)
return (
<div className="@container/main flex flex-col gap-4 py-4 md:gap-6 md:py-6">
<PageShell>
<PageHeader
title="Домены"
description="Импорт и управление зонами Cloudflare"
description={`${tableData.length} зон · ${tableData.filter((d) => d.ips.length > 0).length} с IP · ${tableData.reduce((sum, d) => sum + d.service_count, 0)} привязок сервисов`}
actions={
<>
<Button variant="outline" render={<Link to="/groups" />}>
@@ -151,17 +146,6 @@ function DomainsPage() {
}
/>
<Card className="border-dashed">
<CardHeader className="pb-3">
<CardTitle className="text-base">Быстрый обзор</CardTitle>
<CardDescription>
{tableData.length} зон ·{' '}
{tableData.filter((d) => d.ips.length > 0).length} с IP-адресами ·{' '}
{tableData.reduce((sum, d) => sum + d.service_count, 0)} привязок сервисов
</CardDescription>
</CardHeader>
</Card>
<DataTableCard
title="Список доменов"
description="Импортированные зоны Cloudflare"
@@ -222,6 +206,6 @@ function DomainsPage() {
</form>
</SheetContent>
</Sheet>
</div>
</PageShell>
)
}