feat: initial commit — storefront, convex backend, and shared packages

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>
This commit is contained in:
2026-03-04 09:31:18 +03:00
commit cc15338ad9
361 changed files with 45005 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
import Image from "next/image";
import Link from "next/link";
interface BrandLogoProps {
size?: number;
textClassName?: string;
}
export function BrandLogo({ size = 28, textClassName }: BrandLogoProps) {
return (
<Link href="/" className="flex shrink-0 items-center gap-2">
<Image
src="/branding/logo.svg"
alt=""
width={size}
height={size}
className="shrink-0"
priority
/>
<span
className={
textClassName ??
"font-bold font-[family-name:var(--font-fraunces)] text-2xl tracking-tight text-[#236f6b]"
}
>
<span className="font-medium lowercase">the</span>{" "}
<span className="">Pet</span>
<span className="text-[#f4a13a]"> Loft</span>
</span>
</Link>
);
}