import portfolioData from "@/public/portfolio-data.json"; import { type DemoAvailability, getDemoAvailability, type ProjectHealthSnapshot, } from "./project-health"; type PortfolioData = typeof portfolioData; export type PortfolioProject = PortfolioData["projects"][number]; export type PortfolioProjectView = PortfolioProject & { demoAvailability: DemoAvailability; demoCheckedAt: string | null; }; export const portfolio = portfolioData; export function getFeaturedProjects( snapshot: ProjectHealthSnapshot | null, ): PortfolioProjectView[] { return portfolio.projects .filter(({ featured }) => featured !== false) .map((project) => { const check = snapshot?.projects[project.id]; return { ...project, demoAvailability: getDemoAvailability(project.demoUrl, check), demoCheckedAt: check?.checkedAt ?? null, }; }); }