Files
vercel__components.build/components/geistdocs/open-in-chat.tsx
Hayden Bleasel 101ca62c2d Update docs styles (#22)
* Initial implementation

* Bump deps

* Update code-block.tsx

* Update navbar.tsx

* Move video to Geistdocs

* Update layout.tsx

* Margin fixes

* Update code-block-tabs.tsx

* Update docs-page.tsx

* Update navbar.tsx

* Add feed

* Update docs-layout.tsx

* Update mobile-menu.tsx

* Fix adaptable layout

* Update docs-page.tsx

* Update docs page composability

* Update global.css

* Remove unused AI Elements

* Update Feedback
2025-11-14 11:56:29 -08:00

50 lines
1.2 KiB
TypeScript

import { ExternalLinkIcon } from "lucide-react";
import {
OpenIn,
OpenInChatGPT,
OpenInClaude,
OpenInContent,
OpenInCursor,
OpenInScira,
OpenInSeparator,
OpenInT3,
OpenInTrigger,
OpenInv0,
} from "@/components/ai-elements/open-in-chat";
type OpenInChatProps = {
href: string;
};
export const OpenInChat = ({ href }: OpenInChatProps) => {
const protocol = process.env.NODE_ENV === "production" ? "https" : "http";
const url = new URL(
href,
`${protocol}://${process.env.NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL}`
).toString();
const query = `Read this page, I want to ask questions about it. ${url}`;
return (
<OpenIn query={query}>
<OpenInTrigger asChild>
<button
className="flex items-center gap-1.5 text-muted-foreground text-sm transition-colors hover:text-foreground"
type="button"
>
<ExternalLinkIcon className="size-4" />
Open in chat
</button>
</OpenInTrigger>
<OpenInContent align="start" side="top">
<OpenInv0 />
<OpenInSeparator />
<OpenInChatGPT />
<OpenInClaude />
<OpenInT3 />
<OpenInScira />
<OpenInCursor />
</OpenInContent>
</OpenIn>
);
};