"use client"; /** * Полноэкранный «доступа нет» — показывается в двух случаях: * 1. /api/v1/me вернул 403 (юзер аутентифицирован Caddy basic_auth, * но его нет в `auth/roles.yaml`). Variant: "user". * 2. Юзер открыл URL, которого нет в его allowed_paths (или есть в * deny_paths). Variant: "path". * * Tone-of-voice (см. `.claude/rules/ui-microcopy.md`): нейтральный business, * без эмодзи, без «Ой!». Просто констатация. */ import { Lock } from "lucide-react"; interface NoAccessScreenProps { /** "user" — юзер вне ролей; "path" — путь вне scope */ variant: "user" | "path"; /** Текущий путь — используется только для variant="path" в caption */ path?: string; } export function NoAccessScreen({ variant, path }: NoAccessScreenProps) { const title = "Доступа нет"; const subtitle = variant === "user" ? "Учётная запись не привязана к роли. Обратитесь к администратору GenDesign — kopylov." : "У вашей роли нет доступа к этому разделу. Вернитесь на главную или обратитесь к администратору."; return (

{title}

{subtitle}

{variant === "path" && path ? (

{path}

) : null}
); }