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
196 lines
4.7 KiB
TypeScript
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" },
|
|
];
|