KO
베타 번역

@core / kit-cms

1.0.1 ▾
인증됨MIT
GitHub

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

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

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

src/app/(cms)/[...slug]/page.tsx읽기 전용 · bb5d8e0
// Páginas creadas desde el panel. Las rutas propias del proyecto tienen prioridad (Next resuelve antes las estáticas).
import type { Metadata } from 'next';
import { notFound, permanentRedirect, redirect } from 'next/navigation';
import { resolveRedirect } from '@/lib/site';
import { CmsPage, pageMetadata, type SearchParams } from '../_lib/page';

type Props = { params: Promise<{ slug: string[] }>; searchParams: Promise<SearchParams> };

const slugOf = (parts: string[]) => (parts.length === 1 && parts[0] !== 'home' ? parts[0]! : null);

export async function generateMetadata({ params }: Props): Promise<Metadata> {
  const slug = slugOf((await params).slug);
  return slug ? pageMetadata(slug) : {};
}

export default async function Page({ params, searchParams }: Props) {
  const parts = (await params).slug;
  const slug = slugOf(parts);
  const page = slug ? await CmsPage({ slug, searchParams: await searchParams }) : null;
  if (page) return page;
  // Antes del 404: redirecciones gestionadas en el panel (si no hay middleware de @core/site).
  const path = `/${parts.map(encodeURIComponent).join('/')}`;
  const r = await resolveRedirect(path).catch(() => null);
  if (r) (r.status === 301 || r.status === 308 ? permanentRedirect : redirect)(r.to);
  notFound();
}

@core/kit-cms 신고

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