Files
wehub-resource-sync e30e75b5d4
Code Quality / Oxlint + Oxfmt (push) Waiting to run
Code Quality / Template Sync (push) Waiting to run
Code Quality / Build Changed Packages (push) Waiting to run
Code Quality / Test Changed Packages (push) Waiting to run
Deploy Expo Example / Deploy Production (push) Waiting to run
Deploy Ink Example / Deploy Production (push) Waiting to run
Python Tests / pytest (assistant-stream, 3.10) (push) Waiting to run
Python Tests / pytest (assistant-stream, 3.12) (push) Waiting to run
Python Tests / pytest (assistant-ui-sync-server-api, 3.10) (push) Waiting to run
Python Tests / pytest (assistant-ui-sync-server-api, 3.12) (push) Waiting to run
Deploy Shadcn Registry / Deploy Production (push) Waiting to run
Template Metrics / LOC + Bundle Size (push) Waiting to run
Changesets / Create Version PR (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:40:13 +08:00

196 lines
4.7 KiB
TypeScript

export const BASE_URL = "https://www.assistant-ui.com";
export const CLOUD_URL = "https://cloud.assistant-ui.com";
export const PLATFORMS = ["react", "rn", "ink"] as const;
export type Platform = (typeof PLATFORMS)[number];
export const DEFAULT_PLATFORM: Platform = "react";
export const PLATFORM_LABELS: Record<Platform, string> = {
react: "React",
rn: "React Native",
ink: "React Ink",
};
export type Product = {
/** Route segment for internal products (e.g. "tw-shimmer", "native"). Omit for external. */
slug?: string;
label: string;
href: string;
description: string;
external: boolean;
};
export const PRODUCTS: Product[] = [
{
slug: "tw-shimmer",
label: "tw-shimmer",
href: "/tw-shimmer",
description: "Tailwind CSS shimmer effects",
external: false,
},
{
slug: "safe-content-frame",
label: "Safe Content Frame",
href: "/safe-content-frame",
description: "Secure sandboxed iframes",
external: false,
},
{
slug: "native",
label: "React Native",
href: "/native",
description: "Build mobile apps with React Native",
external: false,
},
{
slug: "ink",
label: "Ink",
href: "/ink",
description: "Build interactive experiences with Ink",
external: false,
},
{
slug: "cloud-ai-sdk",
label: "Cloud AI SDK",
href: "/cloud-ai-sdk",
description: "Cloud persistence for AI SDK apps",
external: false,
},
{
slug: "heat-graph",
label: "Heat Graph",
href: "/heat-graph",
description: "Activity heatmap graph components",
external: false,
},
{
slug: "react-o11y",
label: "react-o11y",
href: "/react-o11y",
description: "Observability span primitives",
external: false,
},
];
/** Internal products/pages that have sub-project routes (used by SubProjectLayout switcher). */
export const SUB_PROJECTS: (Product & { slug: string })[] = [
{
slug: "playground",
label: "Playground",
href: "/playground",
description: "Interactive playground",
external: false,
},
...PRODUCTS.filter((p): p is Product & { slug: string } => !!p.slug),
];
export type DropdownItem = {
label: string;
href: string;
description: string;
external: boolean;
};
export type NavGroup = {
label: string;
items: DropdownItem[];
};
export type NavItem =
| { type: "link"; label: string; href: string }
| { type: "mega"; label: string; groups: NavGroup[] };
export const NAV_ITEMS: NavItem[] = [
{ type: "link", label: "Docs", href: "/docs" },
{ type: "link", label: "Playground", href: "/playground" },
{
type: "mega",
label: "Resources",
groups: [
{
label: "Learn",
items: [
{
label: "Examples",
href: "/examples",
description: "Full implementations and demos",
external: false,
},
{
label: "Showcase",
href: "/showcase",
description: "Apps built with assistant-ui",
external: false,
},
{
label: "Changelog",
href: "/changelog",
description: "Release notes and updates",
external: false,
},
],
},
{
label: "Company",
items: [
{
label: "Blog",
href: "/blog",
description: "Latest news and updates",
external: false,
},
{
label: "Traction",
href: "/traction",
description: "Stars, downloads, and adoption",
external: false,
},
{
label: "Careers",
href: "/careers",
description: "Join our team",
external: false,
},
{
label: "Brand",
href: "/brand",
description: "Logos and brand assets",
external: false,
},
],
},
{
label: "Open source",
items: [
{
label: "GitHub",
href: "https://github.com/assistant-ui/assistant-ui",
description: "Star us on GitHub",
external: true,
},
{
label: "Packages",
href: "/packages",
description: "Every distribution on npm",
external: false,
},
{
label: "React Native",
href: "/native",
description: "Build mobile apps",
external: false,
},
{
label: "Ink",
href: "/ink",
description: "Build terminal UIs",
external: false,
},
],
},
],
},
{ type: "link", label: "Pricing", href: "/pricing" },
];