29 lines
1.0 KiB
TypeScript
29 lines
1.0 KiB
TypeScript
/**
|
|
* /u/[handle]/posts — public Instagram-style scroll feed.
|
|
*
|
|
* Server shell so we can export `generateMetadata` for OG previews on
|
|
* direct shares of this URL. We re-use the same profile-OG metadata as
|
|
* /u/[handle] — the post anchor (#post-<id>) that may be appended to
|
|
* the URL is a client-side fragment and never reaches server-rendered
|
|
* metadata, so we can't surface post-level OG here.
|
|
*
|
|
* (Post-level OG cards still work via the SharePostSheet → short link
|
|
* → /share/[code] route, which DOES see the hash and dispatches to
|
|
* `ogForPost` in share-og.ts.)
|
|
*/
|
|
|
|
import type { Metadata } from "next";
|
|
import { metadataForHandle } from "../profile-og";
|
|
import { ScrollFeed } from "./scroll-feed";
|
|
|
|
type Props = { params: Promise<{ handle: string }> };
|
|
|
|
export async function generateMetadata({ params }: Props): Promise<Metadata> {
|
|
const { handle } = await params;
|
|
return metadataForHandle(handle);
|
|
}
|
|
|
|
export default function PublicPostsFeedPage({ params }: Props) {
|
|
return <ScrollFeed params={params} />;
|
|
}
|