Implements winofyfrontenddoc (1).md §3-4: unified guest-home/authenticated-home
screen (header with login chip vs cart badge, pill search bar, dismissible
location-reminder banner, category chips, store cards, interleaved seller
promo card, sticky bottom nav), plus the full post-OTP location-onboarding
sub-flow (geolocation permission -> error/retry -> manual neighborhood
search, unified idle/results/empty states per the doc's own recommendation).
Location state persists in a plain (non-httpOnly) cookie readable both
client- and server-side, since it drives SSR store queries (neighborhood
or lat/lng) as well as client interactions.
Moved cart/checkout/store/product/orders/addresses under a new (shop) route
group so the new home-shell header doesn't double up with the existing
simple nav header on inner pages.
Real bug caught via live staging data: Neighborhood.city is a nested
{uuid, name, slug} object, not a bare uuid string as typed -- broke both
the address form's city filter and the new neighborhood search. Fixed and
verified against real API responses, not just assumed from the guide.
21 lines
874 B
TypeScript
21 lines
874 B
TypeScript
import Link from "next/link";
|
||
import { LogoutButton } from "@/components/customer/logout-button";
|
||
|
||
// Minimal placeholder — winofyfrontenddoc.md's bottom-nav references a "پروفایل"
|
||
// tab, but no profile screen is documented yet in either doc.
|
||
export default function ProfilePage() {
|
||
return (
|
||
<main className="mx-auto flex w-full max-w-md flex-1 flex-col gap-3 px-4 py-6">
|
||
<h1 className="text-title-large font-extrabold text-foreground">پروفایل</h1>
|
||
<Link href="/orders" className="rounded-xl border border-border p-4 text-body-large">
|
||
سفارشهای من
|
||
</Link>
|
||
<Link href="/addresses" className="rounded-xl border border-border p-4 text-body-large">
|
||
آدرسهای من
|
||
</Link>
|
||
<div className="rounded-xl border border-border p-4">
|
||
<LogoutButton />
|
||
</div>
|
||
</main>
|
||
);
|
||
}
|