diff --git a/apps/web/src/design-preview/bits.tsx b/apps/web/src/design-preview/bits.tsx
index ee6eeb3..e7b9886 100644
--- a/apps/web/src/design-preview/bits.tsx
+++ b/apps/web/src/design-preview/bits.tsx
@@ -22,6 +22,7 @@ import {
import { Button } from '@authportal/ui/components/button'
import { Input } from '@authportal/ui/components/input'
import { Label } from '@authportal/ui/components/label'
+import { Tabs, TabsList, TabsTrigger } from '@authportal/ui/components/tabs'
import {
Sheet,
SheetClose,
@@ -367,3 +368,28 @@ export function CodeBlock({ label, children }: { label: string; children: string
)
}
+
+/** Сегментированный переключатель на Tabs (вид таблицы, период). */
+export function Segmented({
+ label,
+ options,
+ value,
+ onChange,
+}: {
+ label: string
+ options: string[]
+ value: number
+ onChange: (index: number) => void
+}) {
+ return (
+ onChange(Number(v))} aria-label={label} className="max-w-full">
+
+ {options.map((o, i) => (
+
+ {o}
+
+ ))}
+
+
+ )
+}
diff --git a/apps/web/src/design-preview/pages/audit-page.tsx b/apps/web/src/design-preview/pages/audit-page.tsx
index 1ceb3a3..c793b47 100644
--- a/apps/web/src/design-preview/pages/audit-page.tsx
+++ b/apps/web/src/design-preview/pages/audit-page.tsx
@@ -7,7 +7,7 @@ import { AuditRetentionPanel } from '@/components/reui-kit/audit-retention-panel
import { KpiStatGrid } from '@/components/reui-kit/kpi-stat-grid'
import { Button } from '@authportal/ui/components/button'
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@authportal/ui/components/tabs'
-import { CodeBlock, KvList, PageHead, PreviewSheet, StatesFrame, StatusBadge, TypedConfirm } from '../bits'
+import { Segmented, CodeBlock, KvList, PageHead, PreviewSheet, StatesFrame, StatusBadge, TypedConfirm } from '../bits'
import { MOCK_AUDIT, APP_SHORT, type Tone } from '../mock'
import { PreviewSectionGrid, TwoLineCell, type GridColumn } from '../section-grid'
@@ -85,21 +85,7 @@ export function AuditPage() {
>
}
/>
-
- {['24 ч', '7 д', '30 д', '90 д', 'Весь период'].map((p, i) => (
-
- ))}
-
+
6 неудачных входов с 203.0.113.58 за 10 минут. При необходимости отключите учётную запись в разделе «Пользователи».
-
- {PERIODS.map((p, i) => (
-
- ))}
-
+
= {
id: string
@@ -167,28 +168,15 @@ export function PreviewSectionGrid({
{views ? (
-
- {views.map((v, i) => (
-
- ))}
-
+
v.label)}
+ value={view}
+ onChange={(i) => {
+ setView(i)
+ setPagination((p) => ({ ...p, pageIndex: 0 }))
+ }}
+ />
) : null}
{searchText ? (