docs(website): add provider pages and refresh docs

This commit is contained in:
Mohamed Boudra
2026-05-07 22:52:26 +07:00
parent f7eac82593
commit a1ac402154
55 changed files with 1754 additions and 403 deletions
@@ -0,0 +1,13 @@
import { LandingPage } from "~/components/landing-page";
import { getAgentPage } from "~/data/agent-pages";
import { pageMeta } from "~/meta";
export function agentRouteOptions(slug: string) {
const page = getAgentPage(slug);
return {
head: () => ({ meta: pageMeta(page.metaTitle, page.metaDescription) }),
component: function AgentLandingPage() {
return <LandingPage title={page.title} subtitle={page.subtitle} />;
},
};
}
@@ -33,6 +33,7 @@ const SVG_OVERFLOW_VISIBLE_STYLE = { overflow: "visible" as const };
const PHONE_PERSPECTIVE_STYLE = { minHeight: 480, perspective: 1200 };
import { CursorFieldProvider } from "~/components/butterfly";
import { CommandDialog } from "~/components/command-dialog";
import { AGENT_PAGES } from "~/data/agent-pages";
import {
appStoreUrl,
playStoreUrl,
@@ -142,6 +143,9 @@ const OPENCODE_BADGE_ICON = <OpenCodeIcon className="h-6 w-6" />;
const COPILOT_BADGE_ICON = <CopilotIcon className="h-6 w-6" />;
const PI_BADGE_ICON = <PiIcon className="h-6 w-6" />;
const FEATURED_AGENT_COUNT = 5;
const ADDITIONAL_AGENT_COUNT = AGENT_PAGES.length - FEATURED_AGENT_COUNT;
function AgentBadge({ name, icon }: { name: string; icon: React.ReactNode }) {
const [hovered, setHovered] = React.useState(false);
const handleMouseEnter = React.useCallback(() => setHovered(true), []);
@@ -222,7 +226,7 @@ function MultiProviderSection() {
</div>
))}
</div>
<div className="grid grid-cols-2 gap-4 sm:w-2/3">
<div className="grid grid-cols-2 sm:grid-cols-3 gap-4 sm:w-full">
{providers.slice(3).map((p) => (
<div
key={p.name}
@@ -232,6 +236,12 @@ function MultiProviderSection() {
<span className="font-medium">{p.name}</span>
</div>
))}
<a
href="/agents"
className="flex items-center justify-center gap-3 rounded-xl border border-dashed border-white/10 bg-white/[0.01] px-5 py-4 text-white/50 hover:text-white/80 hover:border-white/20 hover:bg-white/[0.03] transition-colors"
>
<span className="font-medium">+{ADDITIONAL_AGENT_COUNT} more</span>
</a>
</div>
</FeatureSection>
);
@@ -910,6 +920,12 @@ function GetStarted() {
<AgentBadge name="Copilot" icon={COPILOT_BADGE_ICON} />
<AgentBadge name="Pi" icon={PI_BADGE_ICON} />
</div>
<a
href="/agents"
className="text-xs text-muted-foreground hover:text-foreground transition-colors"
>
+{ADDITIONAL_AGENT_COUNT} more
</a>
</div>
</motion.div>
);
@@ -72,6 +72,12 @@ export function SiteFooter({ width = "default" }: SiteFooterProps) {
>
OpenCode
</a>
<a
href="/agents"
className="block text-muted-foreground hover:text-foreground transition-colors"
>
All providers
</a>
</div>
</div>
<div className="space-y-3">