KO
베타 번역

@core / kit-cms

1.0.1 ▾
인증됨MIT
GitHub

Next.js 자체 관리 사이트 키트: /admin에서 블록 페이지, 미디어, 메뉴, 설정, 폼, 사용자 편집

코드파일 38개컨텍스트약 1.8천토큰검사 통과

.genpmignore 적용 후 주입될 정확한 트리입니다. 고정 대상:

src/app/(cms)/admin/[[...path]]/page.tsx읽기 전용 · bb5d8e0
// Panel: comprueba sesión y `admin:access` en el servidor; la app cliente se construye desde /api/admin/schema.
import type { Metadata } from 'next';
import '@/lib/ui/ui.css';
import '../../_components/cms.css';
import { redirect } from 'next/navigation';
import { blocks } from '@/genpm/blocks';
import { blockMeta } from '@/lib/blocks';
import { can } from '@/lib/rbac';
import { currentUser } from '../../_lib/session';
import { AdminClient } from '../../_components/admin-client';

export const dynamic = 'force-dynamic';
export const metadata: Metadata = { title: 'Admin', robots: { index: false, follow: false } };

export default async function AdminPage({ params }: { params: Promise<{ path?: string[] }> }) {
  const user = await currentUser();
  if (!user) redirect('/admin/login');
  if (!(await can(user.id, 'admin:access')))
    return (
      <main className="ui-root admin-denied">
        <h1>No access</h1>
        <p>Your account ({user.email ?? user.id}) has no admin role yet. Ask the site owner to grant you one.</p>
        <form action="/auth/logout" method="post">
          <button className="ui-button" type="submit">Sign out</button>
        </form>
      </main>
    );
  const { path } = await params;
  return <AdminClient path={(path ?? []).map(encodeURIComponent).join('/')} blocks={blockMeta(blocks)} />;
}

@core/kit-cms 신고

패키지를 신고하려면 GitHub로 로그인하세요.