From 094f75913b2ea7b5ad0d9719531ee10821506164 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Sun, 23 Aug 2026 12:46:20 +0700 Subject: [PATCH] fix(web): unify ReUI chrome and stop tab underline overlap MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Секции страниц переведены на segmented Tabs (c-tabs-9), статус грида — ToggleGroup в toolbar. Убраны календарь задач, пустые вкладки мониторинга и demo-деревья ReUI. KPI overflow как в CFDM, DetailPanel на карточке модуля, один FrameSection. Co-authored-by: Cursor --- .agents/skills/shadcn-react/SKILL.md | 19 +- .cursor/rules/reui-mcp.mdc | 4 +- .cursor/rules/web-shadcn.mdc | 13 +- AGENTS.md | 2 +- apps/web/eslint.config.js | 2 +- .../analytics/analytics-card-shell.tsx | 6 +- .../analytics/analytics-kpi-row.tsx | 2 +- .../analytics/dashboard-platform-card.tsx | 2 +- .../data-grid-base-7/components/columns.tsx | 324 --- .../components/data-grid-view.tsx | 355 --- .../data-grid-base-7/components/data.tsx | 394 ---- .../blocks/data-grid-base-7/page.tsx | 15 - .../components/columns.tsx | 394 ---- .../components/data-grid-view.tsx | 679 ------ .../data-grid-filtering-2/components/data.tsx | 384 ---- .../blocks/data-grid-filtering-2/page.tsx | 15 - .../empty-state-14/components/empty-state.tsx | 106 - .../components/blocks/empty-state-14/page.tsx | 12 - .../blocks/settings-16/components/data.tsx | 147 -- .../components/integration-settings.tsx | 109 - .../components/blocks/settings-16/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/wizard-2/components/data.tsx | 194 -- .../components/procurement-vendor-steps.tsx | 646 ------ .../components/procurement-vendor-wizard.tsx | 426 ---- .../src/components/blocks/wizard-2/page.tsx | 9 - apps/web/src/components/category-badge.tsx | 51 +- apps/web/src/components/counted-line-tabs.tsx | 50 - .../dashboard/dashboard-frame-panel.tsx | 10 +- .../dashboard/dashboard-kpi-grid.tsx | 2 +- .../dashboard/dashboard-quick-links.tsx | 1 - apps/web/src/components/empty-state.tsx | 21 +- .../components/examples/c-input-group-37.tsx | 107 - .../src/components/examples/c-select-4.tsx | 19 - apps/web/src/components/examples/c-tabs-2.tsx | 129 -- apps/web/src/components/examples/c-tabs-6.tsx | 46 - apps/web/src/components/examples/c-tabs-7.tsx | 61 - apps/web/src/components/form-drawer.tsx | 16 +- apps/web/src/components/kpi-stat-grid.tsx | 14 - apps/web/src/components/layout/app-shell.tsx | 2 +- apps/web/src/components/loading-button.tsx | 11 +- .../modules/module-create-dialog.tsx | 42 +- .../components/modules/module-kpi-cards.tsx | 2 +- .../operations/operations-jobs-kanban.tsx | 48 +- apps/web/src/components/panel-card.tsx | 104 +- .../patterns/illustrated-empty-state.tsx | 43 +- apps/web/src/components/patterns/index.ts | 2 +- .../patterns/projects-empty-state.tsx | 8 +- .../src/components/reui-kit/frame-section.tsx | 93 + apps/web/src/components/reui-kit/index.ts | 9 + .../src/components/reui-kit/kpi-stat-grid.tsx | 25 +- .../src/components/reui-kit/resource-page.tsx | 56 +- .../event-calendar-agenda-view.tsx | 237 -- .../event-calendar/event-calendar-content.tsx | 80 - .../event-calendar/event-calendar-dnd.tsx | 1064 --------- .../event-calendar/event-calendar-event.tsx | 555 ----- .../event-calendar/event-calendar-i18n.tsx | 291 --- .../event-calendar/event-calendar-lib.tsx | 677 ------ .../event-calendar-month-view.tsx | 1289 ----------- .../event-calendar/event-calendar-nav.tsx | 611 ------ .../event-calendar-recurrence.tsx | 592 ----- .../event-calendar-resource-view.tsx | 812 ------- .../event-calendar-time-grid.tsx | 1358 ------------ .../event-calendar/event-calendar-types.tsx | 240 --- .../reui/event-calendar/event-calendar.tsx | 1913 ----------------- .../schedule/schedule-agenda-panel.tsx | 143 -- .../{badge-tabs.tsx => segmented-tabs.tsx} | 26 +- apps/web/src/components/skeletons.tsx | 18 +- apps/web/src/components/status-badge.tsx | 47 +- .../src/components/status-toggle-group.tsx | 54 + .../src/components/ui/svgs/anthropicBlack.tsx | 15 - .../src/components/ui/svgs/anthropicWhite.tsx | 16 - .../src/components/ui/svgs/claudeAiIcon.tsx | 12 - apps/web/src/components/ui/svgs/convex.tsx | 20 - .../web/src/components/ui/svgs/cursorDark.tsx | 12 - .../src/components/ui/svgs/cursorLight.tsx | 9 - apps/web/src/components/ui/svgs/discord.tsx | 12 - apps/web/src/components/ui/svgs/gemini.tsx | 171 -- .../src/components/ui/svgs/googleCalendar.tsx | 41 - .../src/components/ui/svgs/googleCloud.tsx | 24 - apps/web/src/components/ui/svgs/hono.tsx | 17 - apps/web/src/components/ui/svgs/loom.tsx | 12 - apps/web/src/components/ui/svgs/mintlify.tsx | 20 - apps/web/src/components/ui/svgs/n8n.tsx | 14 - apps/web/src/components/ui/svgs/neon.tsx | 35 - apps/web/src/components/ui/svgs/openai.tsx | 9 - .../web/src/components/ui/svgs/openaiDark.tsx | 12 - apps/web/src/components/ui/svgs/paper.tsx | 9 - .../src/components/ui/svgs/planetscale.tsx | 9 - .../components/ui/svgs/planetscaleDark.tsx | 12 - apps/web/src/components/ui/svgs/prisma.tsx | 9 - .../web/src/components/ui/svgs/prismaDark.tsx | 12 - apps/web/src/components/ui/svgs/remixDark.tsx | 12 - .../web/src/components/ui/svgs/remixLight.tsx | 12 - .../components/ui/svgs/resendIconBlack.tsx | 12 - .../components/ui/svgs/resendIconWhite.tsx | 12 - apps/web/src/components/ui/svgs/slack.tsx | 26 - apps/web/src/components/ui/svgs/stripe.tsx | 14 - apps/web/src/components/ui/svgs/supabase.tsx | 45 - apps/web/src/components/ui/svgs/zoom.tsx | 39 - apps/web/src/routes/_auth/access.tsx | 7 +- apps/web/src/routes/_auth/directories.tsx | 10 +- .../src/routes/_auth/modules/$moduleId.tsx | 122 +- apps/web/src/routes/_auth/monitoring.tsx | 256 +-- apps/web/src/routes/_auth/network.tsx | 18 +- apps/web/src/routes/_auth/operations.tsx | 12 +- apps/web/src/routes/_auth/schedule.tsx | 15 +- apps/web/src/routes/auth.callback.tsx | 28 +- apps/web/tsconfig.json | 3 +- 114 files changed, 594 insertions(+), 16355 deletions(-) delete mode 100644 apps/web/src/components/blocks/data-grid-base-7/components/columns.tsx delete mode 100644 apps/web/src/components/blocks/data-grid-base-7/components/data-grid-view.tsx delete mode 100644 apps/web/src/components/blocks/data-grid-base-7/components/data.tsx delete mode 100644 apps/web/src/components/blocks/data-grid-base-7/page.tsx delete mode 100644 apps/web/src/components/blocks/data-grid-filtering-2/components/columns.tsx delete mode 100644 apps/web/src/components/blocks/data-grid-filtering-2/components/data-grid-view.tsx delete mode 100644 apps/web/src/components/blocks/data-grid-filtering-2/components/data.tsx delete mode 100644 apps/web/src/components/blocks/data-grid-filtering-2/page.tsx delete mode 100644 apps/web/src/components/blocks/empty-state-14/components/empty-state.tsx delete mode 100644 apps/web/src/components/blocks/empty-state-14/page.tsx delete mode 100644 apps/web/src/components/blocks/settings-16/components/data.tsx delete mode 100644 apps/web/src/components/blocks/settings-16/components/integration-settings.tsx delete mode 100644 apps/web/src/components/blocks/settings-16/page.tsx delete mode 100644 apps/web/src/components/blocks/settings-3/components/color-picker.tsx delete mode 100644 apps/web/src/components/blocks/settings-3/components/data.tsx delete mode 100644 apps/web/src/components/blocks/settings-3/components/editor-preferences.tsx delete mode 100644 apps/web/src/components/blocks/settings-3/components/general-settings.tsx delete mode 100644 apps/web/src/components/blocks/settings-3/components/setting-field.tsx delete mode 100644 apps/web/src/components/blocks/settings-3/page.tsx delete mode 100644 apps/web/src/components/blocks/wizard-2/components/data.tsx delete mode 100644 apps/web/src/components/blocks/wizard-2/components/procurement-vendor-steps.tsx delete mode 100644 apps/web/src/components/blocks/wizard-2/components/procurement-vendor-wizard.tsx delete mode 100644 apps/web/src/components/blocks/wizard-2/page.tsx delete mode 100644 apps/web/src/components/counted-line-tabs.tsx delete mode 100644 apps/web/src/components/examples/c-input-group-37.tsx delete mode 100644 apps/web/src/components/examples/c-select-4.tsx delete mode 100644 apps/web/src/components/examples/c-tabs-2.tsx delete mode 100644 apps/web/src/components/examples/c-tabs-6.tsx delete mode 100644 apps/web/src/components/examples/c-tabs-7.tsx delete mode 100644 apps/web/src/components/kpi-stat-grid.tsx create mode 100644 apps/web/src/components/reui-kit/frame-section.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar-agenda-view.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar-content.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar-dnd.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar-event.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar-i18n.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar-lib.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar-month-view.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar-nav.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar-recurrence.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar-resource-view.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar-time-grid.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar-types.tsx delete mode 100644 apps/web/src/components/reui/event-calendar/event-calendar.tsx delete mode 100644 apps/web/src/components/schedule/schedule-agenda-panel.tsx rename apps/web/src/components/{badge-tabs.tsx => segmented-tabs.tsx} (73%) create mode 100644 apps/web/src/components/status-toggle-group.tsx delete mode 100644 apps/web/src/components/ui/svgs/anthropicBlack.tsx delete mode 100644 apps/web/src/components/ui/svgs/anthropicWhite.tsx delete mode 100644 apps/web/src/components/ui/svgs/claudeAiIcon.tsx delete mode 100644 apps/web/src/components/ui/svgs/convex.tsx delete mode 100644 apps/web/src/components/ui/svgs/cursorDark.tsx delete mode 100644 apps/web/src/components/ui/svgs/cursorLight.tsx delete mode 100644 apps/web/src/components/ui/svgs/discord.tsx delete mode 100644 apps/web/src/components/ui/svgs/gemini.tsx delete mode 100644 apps/web/src/components/ui/svgs/googleCalendar.tsx delete mode 100644 apps/web/src/components/ui/svgs/googleCloud.tsx delete mode 100644 apps/web/src/components/ui/svgs/hono.tsx delete mode 100644 apps/web/src/components/ui/svgs/loom.tsx delete mode 100644 apps/web/src/components/ui/svgs/mintlify.tsx delete mode 100644 apps/web/src/components/ui/svgs/n8n.tsx delete mode 100644 apps/web/src/components/ui/svgs/neon.tsx delete mode 100644 apps/web/src/components/ui/svgs/openai.tsx delete mode 100644 apps/web/src/components/ui/svgs/openaiDark.tsx delete mode 100644 apps/web/src/components/ui/svgs/paper.tsx delete mode 100644 apps/web/src/components/ui/svgs/planetscale.tsx delete mode 100644 apps/web/src/components/ui/svgs/planetscaleDark.tsx delete mode 100644 apps/web/src/components/ui/svgs/prisma.tsx delete mode 100644 apps/web/src/components/ui/svgs/prismaDark.tsx delete mode 100644 apps/web/src/components/ui/svgs/remixDark.tsx delete mode 100644 apps/web/src/components/ui/svgs/remixLight.tsx delete mode 100644 apps/web/src/components/ui/svgs/resendIconBlack.tsx delete mode 100644 apps/web/src/components/ui/svgs/resendIconWhite.tsx delete mode 100644 apps/web/src/components/ui/svgs/slack.tsx delete mode 100644 apps/web/src/components/ui/svgs/stripe.tsx delete mode 100644 apps/web/src/components/ui/svgs/supabase.tsx delete mode 100644 apps/web/src/components/ui/svgs/zoom.tsx diff --git a/.agents/skills/shadcn-react/SKILL.md b/.agents/skills/shadcn-react/SKILL.md index 4c7688d..73632e8 100644 --- a/.agents/skills/shadcn-react/SKILL.md +++ b/.agents/skills/shadcn-react/SKILL.md @@ -46,28 +46,31 @@ pnpm dlx shadcn@latest add @reui/data-grid # ReUI enterprise → apps/web/src/co |--------|----------|--------| | Button, Card, Sheet, Field, Sidebar | `@shadcn` | `@evobgp/ui/components/*` | | Blocks (sidebar-07, dashboard-01) | `@shadcn` | blocks → `apps/web/src/components/` | -| Data Grid (sort, pagination, virtual) | `@reui` | `@/components/reui/data-grid/*` → обёртка `DataGridCard` | +| Data Grid (sort, pagination, virtual) | `@reui` | `@/components/reui/data-grid/*` → `reui-kit/ResourcePage` | | Мультифильтры | `@reui` | `@/components/reui/filters` | | Number field со stepper | `@reui` | `@/components/reui/number-field` | | Autocomplete | `@reui` | `@/components/reui/autocomplete` → `AutoCompleteInput` | | Date selector / range | `@reui` | `@/components/reui/date-selector` | | Semantic badge (success/info/warning) | `@reui` | `@/components/reui/badge` или `StatusBadge` | -**Простые списки** — shadcn `Table`. **Сложные data-списки** — ReUI data-grid (через `DataGridCard`), не shadcn Data Table. +**Простые списки** — shadcn `Table`. **Сложные data-списки** — ReUI data-grid через `ResourcePage`, не shadcn Data Table. ## Уже установленные shared-обёртки В `apps/web/src/components/`: - `PageHeader`, `PageShell` — заголовки и обёртки страниц - `QueryState` — обёртка loading/error/empty для TanStack Query -- `EmptyState` — пустые списки +- `EmptyState` — пустые списки (empty-state-14 DNA) - `ConfirmDialog` — подтверждения (не `window.confirm`) -- `LoadingButton` — кнопка с loading-состоянием -- `StatusBadge` — статусные бейджи -- `SectionCards` — сетка KPI-карточек -- `Skeletons` (`TableSkeleton`, `SectionCardsSkeleton`) — скелетоны +- `LoadingButton` — SoT кнопка с loading (`Button` + `Spinner`) +- `StatusBadge` / `CategoryBadge` / `ModeBadge` — semantic ReUI Badge +- `SegmentedTabs` — секции страницы (c-tabs-9) +- `StatusToggleGroup` — статус грида (c-toggle-group-5) +- `FormDrawer` — Sheet overlay (sheet-8 / form-7) +- `Skeletons` (`TableSkeleton`, `KpiStatGridSkeleton`) — скелетоны - `TruncatedText` — текст с тултипом -- `ModeToggle` — переключатель темы + +Kit: `reui-kit/ResourcePage`, `KpiStatGrid`, `QuickActionGrid`, `OpsDashboard`, `SettingsShell`, `DetailPanel`, `FrameSection`. Перед созданием новой обёртки — проверить существующие через Codegraph. diff --git a/.cursor/rules/reui-mcp.mdc b/.cursor/rules/reui-mcp.mdc index 81f73e7..6ceaf01 100644 --- a/.cursor/rules/reui-mcp.mdc +++ b/.cursor/rules/reui-mcp.mdc @@ -70,14 +70,14 @@ alwaysApply: true |------|------|--------| | shadcn | `packages/ui/src/components/` | `@evobgp/ui/components/*` | | ReUI CLI | `apps/web/src/components/reui/` | `@/components/reui/*` | -| PRO blocks (reference) | `apps/web/src/components/blocks/` | adapt into kit, не копипаст в routes | +| PRO blocks (reference) | — | CLI → adapt into kit; не держать demo-деревья в `src/components/blocks/` | | Kit | `apps/web/src/components/reui-kit/` | `@/components/reui-kit/*` | ## Установленные ReUI (apps/web) **Components:** `frame`, `data-grid/*`, `filters`, `badge`, `alert`, `autocomplete`, `number-field`, `date-selector`, `color-picker`, `timeline`, `rating`, `phone-input`, `icon-stack`, `icon-tile`, `stepper` -**Kit:** `ResourcePage`, `KpiStatGrid`, `QuickActionGrid`, `OpsDashboard`, `DetailPanel`, `SettingsShell` +**Kit:** `ResourcePage`, `KpiStatGrid`, `QuickActionGrid`, `OpsDashboard`, `DetailPanel`, `SettingsShell`, `FrameSection` **Blocks (reference):** `stats-12`, `card-35`, `auth-13`, `app-shell-12`, `settings-16`, `settings-8`, `empty-state-12`, `form-7`, `data-grid-filtering-2`, `dashboard-1`, … diff --git a/.cursor/rules/web-shadcn.mdc b/.cursor/rules/web-shadcn.mdc index d9f7ba0..988843f 100644 --- a/.cursor/rules/web-shadcn.mdc +++ b/.cursor/rules/web-shadcn.mdc @@ -23,10 +23,10 @@ alwaysApply: false | shadcn-примитивы | `packages/ui/src/components/` | output `shadcn add` (не трогать под кейс) | | ReUI enterprise | `apps/web/src/components/reui/` | output `shadcn add @reui/*` | | Shared обёртки | `apps/web/src/components/` | PageHeader, QueryState, ConfirmDialog, StatusBadge, LoadingButton | -| ReUI kit | `apps/web/src/components/reui-kit/` | ResourcePage, KpiStatGrid, QuickActionGrid, OpsDashboard, SettingsShell | +| ReUI kit | `apps/web/src/components/reui-kit/` | ResourcePage, KpiStatGrid, QuickActionGrid, OpsDashboard, SettingsShell, DetailPanel, FrameSection | | Роуты | `apps/web/src/routes/` | TanStack Router (file-based) | -**Design contract:** [`docs/ui-design-contract.md`](../../docs/ui-design-contract.md). Surface: **frame**. KPI hybrid SoT: [stats-12](https://reui.io/preview/base/stats-12). Lists: [data-grid-filtering-2](https://reui.io/preview/base/data-grid-filtering-2). Quick Actions: `QuickActionGrid`. +**Design contract:** [`docs/ui-design-contract.md`](../../docs/ui-design-contract.md). Surface: **frame**. KPI hybrid SoT: [stats-12](https://reui.io/preview/base/stats-12). Lists: [data-grid-filtering-2](https://reui.io/preview/base/data-grid-filtering-2). Page tabs: [c-tabs-9](https://reui.io/preview/base/components/c-tabs-9). Grid status: [c-toggle-group-5](https://reui.io/preview/base/components/c-toggle-group-5). Quick Actions: `QuickActionGrid`. Тема: `packages/ui/src/styles/globals.css`. CLI из `apps/web`: `pnpm dlx shadcn@latest add `. @@ -48,9 +48,16 @@ alwaysApply: false **WEB-05** | MUST | Формы — `react-hook-form` + Zod; через `FormField`/`Form` обёртки. *Проверка:* https://ui.shadcn.com/docs/components/form -**WEB-06** | MUST | Сложные data-списки — Frame + ReUI DataGrid через `reui-kit/ResourcePage` или `DataGridSection` (не Card shell, не shadcn Data Table). Surface lock: `UI_SURFACE = 'frame'` (`lib/ui-surface.ts`). Простые списки — shadcn `Table`. +**WEB-06** | MUST | Сложные data-списки — Frame + ReUI DataGrid через `reui-kit/ResourcePage` (не Card shell, не shadcn Data Table). Surface lock: `UI_SURFACE = 'frame'` (`lib/ui-surface.ts`). Простые списки — shadcn `Table`. *Проверка:* `@/components/reui-kit`, `@/components/reui/data-grid`, `docs/ui-design-contract.md`. +**WEB-06a** | MUST | Переключатели по роли UX: +- секции страницы (Сеть / Операции / Справочники) — native `Tabs` default list (`SegmentedTabs`, [c-tabs-9](https://reui.io/preview/base/components/c-tabs-9)); +- статус грида (Все/Вкл) — `ToggleGroup` в toolbar (`StatusToggleGroup`, [c-toggle-group-5](https://reui.io/preview/base/components/c-toggle-group-5)); +- настройки — вертикальный Tabs rail ([settings-3](https://reui.io/preview/base/settings-3)). +Не `variant="line"` для page/in-grid tabs. +*Проверка:* `@/components/segmented-tabs`, `@/components/status-toggle-group`. + **WEB-07** | MUST | Toast — `sonner` (`Toaster` в `main.tsx`); `toast.success/error/message` из `sonner`. *Проверка:* https://ui.shadcn.com/docs/components/sonner diff --git a/AGENTS.md b/AGENTS.md index c0015af..62dcd24 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -23,7 +23,7 @@ | Конфиг BIRD, `birdc` | `internal/birdfmt/`, `internal/birddeploy/` | | Бандлы и подписи | `internal/bundle/`, `internal/signing/` | | Точки входа процессов | `cmd/*/` | -| Веб (SvelteKit) | `web/` | +| Веб (React + ReUI) | `apps/web/` | | Compose, деплой | `deploy/compose/` | Точки входа бинарников и их роли — в таблице в начале [docs/architecture.md](docs/architecture.md). diff --git a/apps/web/eslint.config.js b/apps/web/eslint.config.js index 0484a51..ccc52b2 100644 --- a/apps/web/eslint.config.js +++ b/apps/web/eslint.config.js @@ -5,7 +5,7 @@ import reactRefresh from 'eslint-plugin-react-refresh' import globals from 'globals' export default tseslint.config( - { ignores: ['dist', 'src/routeTree.gen.ts', 'src/components/blocks/**'] }, + { ignores: ['dist', 'src/routeTree.gen.ts'] }, { extends: [js.configs.recommended, ...tseslint.configs.recommended], files: ['**/*.{ts,tsx}'], diff --git a/apps/web/src/components/analytics/analytics-card-shell.tsx b/apps/web/src/components/analytics/analytics-card-shell.tsx index 3870071..8d4529b 100644 --- a/apps/web/src/components/analytics/analytics-card-shell.tsx +++ b/apps/web/src/components/analytics/analytics-card-shell.tsx @@ -8,7 +8,7 @@ import { TooltipTrigger, } from '@evobgp/ui/components/tooltip' -import { PanelCard } from '@/components/panel-card' +import { FrameSection } from '@/components/reui-kit' /** Chart Frame shell — chart-1 spacing, not Card. * @see https://reui.io/preview/base/chart-1 @@ -51,7 +51,7 @@ export function AnalyticsCardShell({ ) return ( - {children} - + ) } diff --git a/apps/web/src/components/analytics/analytics-kpi-row.tsx b/apps/web/src/components/analytics/analytics-kpi-row.tsx index 4a44722..134a5c9 100644 --- a/apps/web/src/components/analytics/analytics-kpi-row.tsx +++ b/apps/web/src/components/analytics/analytics-kpi-row.tsx @@ -1,4 +1,4 @@ -import { KpiStatGrid, type KpiStatItem } from '@/components/kpi-stat-grid' +import { KpiStatGrid, type KpiStatItem } from '@/components/reui-kit' import { Badge } from '@/components/reui/badge' import { cn } from '@evobgp/ui/lib/utils' diff --git a/apps/web/src/components/analytics/dashboard-platform-card.tsx b/apps/web/src/components/analytics/dashboard-platform-card.tsx index 106f213..b19924f 100644 --- a/apps/web/src/components/analytics/dashboard-platform-card.tsx +++ b/apps/web/src/components/analytics/dashboard-platform-card.tsx @@ -114,7 +114,7 @@ export function DashboardPlatformCard({ diff --git a/apps/web/src/components/blocks/data-grid-base-7/components/columns.tsx b/apps/web/src/components/blocks/data-grid-base-7/components/columns.tsx deleted file mode 100644 index 0cee6d9..0000000 --- a/apps/web/src/components/blocks/data-grid-base-7/components/columns.tsx +++ /dev/null @@ -1,324 +0,0 @@ -import { type ComponentProps } from "react" -import { Badge } from "@/components/reui/badge" -import { type DataGridFeatures } from "@/components/reui/data-grid/data-grid" -import { DataGridColumnHeader } from "@/components/reui/data-grid/data-grid-column-header" -import { type ColumnDef } from "@tanstack/react-table" - -import { cn } from "@evobgp/ui/lib/utils" -import { Button } from "@evobgp/ui/components/button" -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuGroup, - DropdownMenuItem, - DropdownMenuSeparator, - DropdownMenuTrigger, -} from "@evobgp/ui/components/dropdown-menu" -import { type ModuleRecord, type ModuleStatus } from "./data" -import { CalendarDaysIcon, FileTextIcon, StarIcon, MoreHorizontalIcon, CopyIcon, ArchiveIcon } from "lucide-react" - -export type ModuleRowAction = "open" | "favorite" | "duplicate" | "archive" - -const moduleStatusVariant: Record< - ModuleStatus, - ComponentProps["variant"] -> = { - Planned: "info-outline", - Backlog: "outline", - "In Progress": "warning-outline", -} - -const moduleStatusDotClass: Record = { - Planned: "bg-sky-500 dark:bg-sky-400", - Backlog: "bg-muted-foreground/50", - "In Progress": "bg-amber-500 dark:bg-amber-400", -} - -function DotSeparator() { - return ( -