From 241834455163a8274f9837de2c1452bdad5424a1 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Mon, 2 Nov 2026 19:40:18 +0700 Subject: [PATCH] =?UTF-8?q?feat(web):=20=D1=81=D0=BE=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=20=D1=8D=D0=BA=D1=80=D0=B0=D0=BD=D1=8B=20=D0=B8?= =?UTF-8?q?=D0=B7=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=BE=D0=B2=20ReUI=20PRO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Подключить stats-12, card-12, settings-3 и empty-state-12 к оболочке, спискам, карточкам и настройкам, чтобы метрики и пустые состояния шли из одних блоков. Co-authored-by: Cursor --- .../blocks/card-12/components/card-grid.tsx | 16 ++ .../blocks/card-12/components/card-item.tsx | 19 ++ .../blocks/card-12/components/data.tsx | 53 ++++ .../src/components/blocks/card-12/page.tsx | 9 + .../blocks/empty-state-12/components/data.ts | 48 ++++ .../empty-state-12/components/empty-state.tsx | 249 ++++++++++++++++ .../components/blocks/empty-state-12/page.tsx | 15 + .../settings-3/components/color-picker.tsx | 40 +++ .../blocks/settings-3/components/data.tsx | 109 +++++++ .../components/editor-preferences.tsx | 57 ++++ .../components/general-settings.tsx | 267 ++++++++++++++++++ .../settings-3/components/setting-field.tsx | 69 +++++ .../src/components/blocks/settings-3/page.tsx | 9 + .../blocks/stats-12/components/data.tsx | 47 +++ .../blocks/stats-12/components/stats.tsx | 43 +++ .../src/components/blocks/stats-12/page.tsx | 9 + .../domains/domains-bulk-toolbar.tsx | 61 +--- .../src/components/layout/command-palette.tsx | 145 +++++++--- .../src/components/layout/data-freshness.tsx | 3 +- .../web/src/components/layout/site-header.tsx | 12 + .../layout/system-monitor-popover.tsx | 22 +- apps/web/src/components/nav-user.tsx | 101 +++++++ apps/web/src/components/page-header.tsx | 4 +- .../components/reui-kit/attention-queue.tsx | 2 +- .../reui-kit/dashboard-analytics.tsx | 29 ++ apps/web/src/components/reui-kit/index.ts | 2 +- .../src/components/reui-kit/kpi-stat-grid.tsx | 156 ++++------ .../src/components/reui-kit/ops-dashboard.tsx | 15 +- .../components/reui-kit/quick-action-grid.tsx | 77 ++--- .../components/reui-kit/settings-shell.tsx | 145 ++++------ apps/web/src/components/reui/frame.tsx | 61 ++-- .../services/service-health-section.tsx | 52 ++-- apps/web/src/components/theme-provider.tsx | 7 +- apps/web/src/lib/appearance-mode.ts | 44 +++ apps/web/src/main.tsx | 1 + apps/web/src/routes/_auth/certificates.tsx | 2 +- apps/web/src/routes/_auth/domains/index.tsx | 162 +++++------ apps/web/src/routes/_auth/groups.tsx | 14 +- apps/web/src/routes/_auth/groups/$groupId.tsx | 188 ++++++++---- apps/web/src/routes/_auth/index.tsx | 60 +--- .../_auth/services/$serviceId/route.tsx | 27 +- apps/web/src/routes/_auth/services/index.tsx | 30 +- apps/web/src/styles/appearance-modes.css | 16 ++ packages/ui/src/components/button-group.tsx | 2 +- packages/ui/src/components/button.tsx | 1 - packages/ui/src/components/dropdown-menu.tsx | 3 +- packages/ui/src/components/empty.tsx | 1 - packages/ui/src/components/field.tsx | 6 +- packages/ui/src/components/input-group.tsx | 4 +- packages/ui/src/components/input.tsx | 1 - packages/ui/src/components/item.tsx | 2 +- packages/ui/src/components/label.tsx | 3 +- packages/ui/src/components/select.tsx | 3 - packages/ui/src/components/separator.tsx | 1 - packages/ui/src/components/switch.tsx | 5 +- packages/ui/src/components/textarea.tsx | 1 - packages/ui/src/components/toggle-group.tsx | 4 +- packages/ui/src/components/toggle.tsx | 1 - 58 files changed, 1846 insertions(+), 689 deletions(-) create mode 100644 apps/web/src/components/blocks/card-12/components/card-grid.tsx create mode 100644 apps/web/src/components/blocks/card-12/components/card-item.tsx create mode 100644 apps/web/src/components/blocks/card-12/components/data.tsx create mode 100644 apps/web/src/components/blocks/card-12/page.tsx create mode 100644 apps/web/src/components/blocks/empty-state-12/components/data.ts create mode 100644 apps/web/src/components/blocks/empty-state-12/components/empty-state.tsx create mode 100644 apps/web/src/components/blocks/empty-state-12/page.tsx create mode 100644 apps/web/src/components/blocks/settings-3/components/color-picker.tsx create mode 100644 apps/web/src/components/blocks/settings-3/components/data.tsx create mode 100644 apps/web/src/components/blocks/settings-3/components/editor-preferences.tsx create mode 100644 apps/web/src/components/blocks/settings-3/components/general-settings.tsx create mode 100644 apps/web/src/components/blocks/settings-3/components/setting-field.tsx create mode 100644 apps/web/src/components/blocks/settings-3/page.tsx create mode 100644 apps/web/src/components/blocks/stats-12/components/data.tsx create mode 100644 apps/web/src/components/blocks/stats-12/components/stats.tsx create mode 100644 apps/web/src/components/blocks/stats-12/page.tsx create mode 100644 apps/web/src/lib/appearance-mode.ts create mode 100644 apps/web/src/styles/appearance-modes.css diff --git a/apps/web/src/components/blocks/card-12/components/card-grid.tsx b/apps/web/src/components/blocks/card-12/components/card-grid.tsx new file mode 100644 index 0000000..ba3f56a --- /dev/null +++ b/apps/web/src/components/blocks/card-12/components/card-grid.tsx @@ -0,0 +1,16 @@ +import { Frame } from "@/components/reui/frame" + +import { CardItem } from "./card-item" +import { CARDS } from "./data" + +export function CardGrid() { + return ( + +
+ {CARDS.map((card) => ( + + ))} +
+ + ) +} \ No newline at end of file diff --git a/apps/web/src/components/blocks/card-12/components/card-item.tsx b/apps/web/src/components/blocks/card-12/components/card-item.tsx new file mode 100644 index 0000000..92c2464 --- /dev/null +++ b/apps/web/src/components/blocks/card-12/components/card-item.tsx @@ -0,0 +1,19 @@ +import { FramePanel } from "@/components/reui/frame" + +import { ICard } from "./data" + +export function CardItem({ card }: { card: ICard }) { + return ( + + + {card.icon} +

+ {card.title} +

+
+
+ ) +} \ No newline at end of file diff --git a/apps/web/src/components/blocks/card-12/components/data.tsx b/apps/web/src/components/blocks/card-12/components/data.tsx new file mode 100644 index 0000000..f415dd4 --- /dev/null +++ b/apps/web/src/components/blocks/card-12/components/data.tsx @@ -0,0 +1,53 @@ +import { type ReactNode } from "react" +import { ActivityIcon, BookOpenIcon, ShieldIcon, CircleDollarSignIcon, BarChart3Icon, TrendingUp } from "lucide-react" + +export interface ICard { + title: string + href: string + icon: ReactNode +} + +export const CARDS: ICard[] = [ + { + title: "Valuation", + href: "#valuation", + icon: ( +