#!/bin/zsh echo "🎨 Applying UI polish across the app..." BASE="src/app" COMP="src/app/components" mkdir -p "$COMP" ############################################# # CategoryCard component ############################################# cat > "$COMP/CategoryCard.js" << 'EOF' export default function CategoryCard({ category }) { return (

{category}

); } EOF ############################################# # Patch ModelPage ############################################# cat > "$BASE/model/[modelId]/page.js" << 'EOF' import { getModel, getCompatibleParts } from "@/src/lib/ui/api"; import CategoryCard from "@/src/app/components/CategoryCard"; import PartCard from "@/src/app/components/PartCard"; export default async function ModelPage({ params }) { const model = await getModel(params.modelId); const parts = await getCompatibleParts(params.modelId); if (!model) return

Model not found

; return (

{model.name}

{model.brand} • {model.scale}

Categories

{model.categories.map(cat => ( ))}

Compatible Parts

{Array.isArray(parts) && parts.length ? ( parts.map(item => ) ) : (

No compatible parts found.

)}
); } EOF ############################################# # Patch PartPage ############################################# cat > "$BASE/part/[partId]/page.js" << 'EOF' import { getPart, getCompatibleModels } from "@/src/lib/ui/api"; import ModelCard from "@/src/app/components/ModelCard"; export default async function PartDetailPage({ params }) { const part = await getPart(params.partId); const models = await getCompatibleModels(params.partId); if (!part) return

Part not found

; return (

{part.name}

Part ID: {part.id}

{part.universalFit && ( Universal Fit )} {part.upgrade && ( Upgrade Part )}

Compatible Models

{Array.isArray(models) && models.length ? ( models.map(item => ) ) : (

No compatible models found.

)}
); } EOF ############################################# # Patch CategoryPage ############################################# cat > "$BASE/category/[modelId]/[categoryName]/page.js" << 'EOF' import { getModel, getCompatibleParts } from "@/src/lib/ui/api"; import PartCard from "@/src/app/components/PartCard"; export default async function CategoryPage({ params }) { const model = await getModel(params.modelId); const allParts = await getCompatibleParts(params.modelId); if (!model) return

Model not found

; const parts = allParts.filter( p => p.part.category === params.categoryName ); return (

{params.categoryName} for {model.name}

← Back to model
{parts.length ? ( parts.map(p => ( )) ) : (

No compatible parts in this category.

)}
); } EOF echo "🎉 UI polish applied!"