Audit and fix accessibility issues across the portfolio to ensure WCAG 2.1 AA compliance.
中文简介正在准备中。当前显示原文说明。
Advanced TypeScript patterns and type safety as used in this portfolio
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Advanced TypeScript patterns, generics, and type-level programming as applied in the PP Namias portfolio.
// Typed Sanity query results
const doc = await querySanity<{
title?: string;
slug?: string;
technologies?: string[];
galleryItems?: Array<{
url?: string;
alt?: string;
caption?: string;
}>;
}>(`*[_type == "project" && slug.current == "${safeSlug}"][0]{...}`);
// Typed SWR fetcher
const { data, error } = useSWR<CmsContent>(
'/api/cms',
(url) => fetch(url).then(r => r.json())
);
// Typed API response
interface ApiResponse<T> {
data?: T;
error?: string;
status: number;
}
// Typed request body
interface ChatRequest {
message: string;
history?: Array<{ role: string; content: string }>;
}
// Discriminated union for component variants
type ProjectTier = 'standard' | 'featured' | 'showcase';
interface ProjectProps {
tier: ProjectTier;
title: string;
slug: string;
}
// Only showcase has galleryItems
interface ShowcaseProject extends ProjectProps {
tier: 'showcase';
galleryItems: GalleryItem[];
}
type ProjectCardProps = StandardProject | FeaturedProject | ShowcaseProject;
type Result<T> =
| { success: true; data: T }
| { success: false; error: string };
type SanityField = `${string}Field`;
const title: SanityField = 'titleField'; // Valid
function isShowcaseProject(project: ProjectCardProps): project is ShowcaseProject {
return project.tier === 'showcase';
}
type Slug = string & { readonly __brand: 'Slug' };
function createSlug(value: string): Slug {
return value.replace(/[^a-zA-Z0-9\-_]/g, '') as Slug;
}
type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
as any or @ts-ignore unless absolutely necessarynpx tsc --noEmit passes还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Audit and fix accessibility issues across the portfolio to ensure WCAG 2.1 AA compliance.
中文简介正在准备中。当前显示原文说明。
Creates a new blog post document in the Sanity studio. Use when the user wants to write a blog post, publish an article, or schedule a future post.
中文简介正在准备中。当前显示原文说明。
Creates a new certification document in the Sanity studio. Use when the user wants to add a credential, certificate, or professional accreditation to the Certifications collection.
中文简介正在准备中。当前显示原文说明。
Adds a new skill MD file to the studio's skills collection. Use when the user wants to author a new step-by-step recipe for the studio's in-app Skills tool or the .agents mirror.
中文简介正在准备中。当前显示原文说明。
Creates a new project document in the Sanity studio. Use when the user wants to add a new portfolio project, a case study, or a work sample to the Projects collection.
中文简介正在准备中。当前显示原文说明。
Creates a new experience document in the Sanity studio. Use when the user wants to add a job, role, internship, or work history entry to the Experience collection.
中文简介正在准备中。当前显示原文说明。