Files
MikrotikManager/components/placeholder-page.tsx
T
DenozordecandCursor 5f29cfaf0f
Docker images / prepare-release (push) Successful in 4s
Docker images / backend-image (push) Failing after 2m36s
Docker images / frontend-image (push) Successful in 2m22s
Docker images / notify-webhook (push) Skipped
Docker images / updater-image (push) Successful in 55s
Docker images / publish-release (push) Skipped
fix(ui): выровнять chrome Frame и убрать Card-оболочки
Подключить App Switcher, NavUser, OpsPanel и AlertDialog вместо Card-shell.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 15:36:56 +07:00

36 lines
1.4 KiB
TypeScript

import { PageHeader } from "@/components/page-header"
import { Frame, FramePanel } from "@/components/reui/frame"
import type { LucideIcon } from "lucide-react"
interface PlaceholderPageProps {
section: string
title: string
description: string
Icon: LucideIcon
}
export function PlaceholderPage({ section, title, description, Icon }: PlaceholderPageProps) {
return (
<div className="flex flex-col h-full">
<PageHeader crumbs={[{ label: section }, { label: title }]} />
<div className="flex-1 overflow-y-auto p-6">
<div className="flex flex-col gap-4 max-w-[1400px]">
<div>
<h1 className="text-2xl font-semibold tracking-tight">{title}</h1>
<p className="text-sm text-muted-foreground mt-1">{description}</p>
</div>
<Frame dense className="w-full">
<FramePanel className="flex flex-col items-center justify-center py-20 gap-3 text-center">
<Icon className="size-10 text-muted-foreground/30" />
<h3 className="text-base font-medium">Скоро</h3>
<p className="text-sm text-muted-foreground max-w-xs">
Этот раздел будет подключён следующим. Слой данных и эндпоинты бэкенда уже готовы.
</p>
</FramePanel>
</Frame>
</div>
</div>
</div>
)
}