KO
베타 번역

@core / kit-cms

1.0.1 ▾
인증됨MIT
GitHub

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

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

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

src/app/(cms)/search/page.tsx읽기 전용 · bb5d8e0
// Resultados de la búsqueda del sitio (@core/search). Sin JavaScript: formulario GET.
import type { Metadata } from 'next';
import '@/genpm';
import { search } from '@/lib/search';

export const metadata: Metadata = { title: 'Search', robots: { index: false, follow: true } };

export default async function SearchPage({ searchParams }: { searchParams: Promise<{ q?: string | string[] }> }) {
  const raw = (await searchParams).q;
  const q = (Array.isArray(raw) ? raw[0] : raw)?.slice(0, 200) ?? '';
  const { hits, fuzzy } = q ? await search(q, { limit: 20 }) : { hits: [], fuzzy: false };
  return (
    <main className="blk">
      <h1>Search</h1>
      <form role="search" method="get" action="/search">
        <label htmlFor="q" className="ui-visually-hidden">
          Search
        </label>
        <input id="q" name="q" type="search" className="ui-input" defaultValue={q} />
        <button type="submit" className="ui-button ui-button--primary">
          Search
        </button>
      </form>
      {q && (
        <p aria-live="polite">
          {hits.length} results{fuzzy ? ' (similar matches)' : ''} for “{q}”
        </p>
      )}
      <ol>
        {hits.map((h) => (
          <li key={`${h.type}:${h.id}`}>
            <a href={h.url}>{h.title}</a>
            <p>{h.snippet.map((s, i) => (s.match ? <mark key={i}>{s.text}</mark> : <span key={i}>{s.text}</span>))}</p>
          </li>
        ))}
      </ol>
    </main>
  );
}

@core/kit-cms 신고

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