Completes the first milestone of The Pet Loft ecommerce platform: - apps/storefront: full customer-facing Next.js app with HeroUI (cart, checkout, orders, wishlist, product detail, shop, search, auth) - convex/: serverless backend with schema, queries, mutations, actions, HTTP routes, Stripe/Shippo integrations, and co-located tests - packages/types, packages/utils, packages/convex: shared workspace packages Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
878 B
TypeScript
26 lines
878 B
TypeScript
import Link from "next/link";
|
|
|
|
/**
|
|
* Shop-specific 404 when an invalid category or sub-category path is requested
|
|
* (e.g. unknown [category] or [subCategory] in /shop/[category]/[subCategory]).
|
|
*/
|
|
export default function ShopNotFound() {
|
|
return (
|
|
<div className="mx-auto max-w-2xl px-4 py-16 text-center">
|
|
<h1 className="font-[family-name:var(--font-fraunces)] text-2xl font-bold text-[var(--foreground)] md:text-3xl">
|
|
Page not found
|
|
</h1>
|
|
<p className="mt-3 text-[var(--muted)]">
|
|
This shop category or page doesn't exist. Try browsing from the
|
|
shop home.
|
|
</p>
|
|
<Link
|
|
href="/shop"
|
|
className="mt-6 inline-block rounded-lg bg-[var(--brand-dark)] px-6 py-3 text-sm font-medium text-white transition-colors hover:bg-[var(--brand-hover)]"
|
|
>
|
|
Back to Shop
|
|
</Link>
|
|
</div>
|
|
);
|
|
}
|