Template
The root layout exported no metadata, so routes without their own export rendered no title at all, and no route had a description. Add a root metadata block with a title template, Open Graph and Twitter defaults, and fill in the routes that were missing tags. - config/site.ts: description and env-driven absolute url for metadataBase - home, /collections and /shop/collections: titles and descriptions - products/[handle] and collections/[handle]: generateMetadata off the existing catalog fetchers, with canonical and OG image - existing titles: drop the hand-written " — Shop" suffix now that the root template appends it Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011x5jT4fJJCnqPx3umEvXRk
33 lines
833 B
TypeScript
33 lines
833 B
TypeScript
import AccountForm from '@/components/shopify/account-form';
|
|
|
|
export const metadata = { title: 'Set a new password' };
|
|
|
|
// Shopify's emailed reset link is /account/reset/{id}/{token}.
|
|
export default async function Page({
|
|
params,
|
|
}: {
|
|
params: Promise<{ id: string; token: string }>;
|
|
}) {
|
|
const { id, token } = await params;
|
|
|
|
return (
|
|
<main className="max-w-screen-2xl mx-auto w-full px-8 py-16">
|
|
<AccountForm
|
|
title="Set a new password"
|
|
fields={[
|
|
{
|
|
name: 'password',
|
|
label: 'New password',
|
|
type: 'password',
|
|
autoComplete: 'new-password',
|
|
},
|
|
]}
|
|
submitLabel="Save password"
|
|
endpoint="/api/account/reset"
|
|
extraPayload={{ id, resetToken: token }}
|
|
redirectTo="/account"
|
|
/>
|
|
</main>
|
|
);
|
|
}
|