import React from "react"; import { researchProjects as staticProjects } from "../../content/projects"; import type { ResearchProject } from "../../content/types"; import ProjectPageViewControls from "./ProjectPageViewControls"; interface ProjectPageViewProps { projects?: ResearchProject[]; } export function ProjectPageView({ projects: projectsProp }: ProjectPageViewProps = {}) { const projects = projectsProp ?? staticProjects; const slugs = projects.map((p) => p.slug); const trackId = "research-projects-track"; return (
Key Initiatives

Research Projects

{projects.length} core international standardization research projects

{/* Scroll-Snap Track: Mobile 1up, Tablet 2up, Desktop Static 3-col Grid */}
{projects.map((proj, idx) => (
{/* Header Info */}

{proj.title}

{proj.period && ( {proj.period} )}
{/* Abstract */}

{proj.abstract}

{/* Keywords */}
{proj.keywords.map((kw) => ( #{kw} ))}
{/* Metadata Footer: Standards Track & Deliverables */}
{/* Standards Track / Organization */} {proj.funder ? (
Funder: {proj.funder}
) : proj.standardsTrack ? (
Organization: {proj.standardsTrack}
) : proj.standardsOrg ? (
Organization: {proj.standardsOrg}
) : null} {/* Key Deliverables */} {proj.deliverables.length > 0 && (
Key Deliverables:
    {proj.deliverables.slice(0, 3).map((item, dIdx) => (
  • {item.ref} — {item.title}
  • ))} {proj.deliverables.length > 3 && (
  • +외 {proj.deliverables.length - 3}건의 규격 문서
  • )}
)}
))}
{/* Interactive Controls (Hidden on desktop) */}
); } export default ProjectPageView;