Compare commits
No commits in common. "5d1309633d35a33173ab3ec4072c5a66c2ae168f" and "fcbb5396b3e1aca16c7c8e23230562cc92c9516f" have entirely different histories.
5d1309633d
...
fcbb5396b3
|
|
@ -4,8 +4,8 @@ import { usePathname } from 'next/navigation';
|
|||
import { SubsectionNav } from '@/components/shared/SubsectionNav';
|
||||
|
||||
const navItems = [
|
||||
{ label: 'Master Key', href: '/admin/master/' },
|
||||
{ label: 'API Keys', href: '/admin/apikeys/' },
|
||||
{ label: 'Master Key', href: '/admin/master' },
|
||||
{ label: 'API Keys', href: '/admin/apikeys' },
|
||||
];
|
||||
|
||||
export default function AdminLayout({ children }: { children: React.ReactNode }) {
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@ import { ApiKeyProvider } from '@/components/shared/ApiKeyWidget/apikey-context'
|
|||
import { PageProvider } from '@/contexts/page-context';
|
||||
|
||||
const navItems = [
|
||||
{ label: 'API', href: '/docs/' },
|
||||
{ label: 'API', href: '/docs' },
|
||||
{ label: 'SDK', href: '#', disabled: true },
|
||||
{ label: 'MCP', href: '#', disabled: true },
|
||||
{ label: 'CLI', href: '#', disabled: true },
|
||||
{ label: 'Lab', href: '/demo/tti/' },
|
||||
{ label: 'Lab', href: '/demo/tti' },
|
||||
];
|
||||
|
||||
export default function DemoLayout({ children }: { children: React.ReactNode }) {
|
||||
|
|
|
|||
|
|
@ -47,21 +47,21 @@ export default function FlowsAPIPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'API Reference', href: '/docs/api/' },
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'API Reference', href: '/docs/api' },
|
||||
{ label: 'Flows' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/generation/',
|
||||
href: '/docs/generation',
|
||||
title: 'Image Generation Guide',
|
||||
description: 'Learn about chaining generations with flows.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api/generations/',
|
||||
href: '/docs/api/generations',
|
||||
title: 'Generations API',
|
||||
description: 'Create generations within flows.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -44,21 +44,21 @@ export default function GenerationsAPIPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'API Reference', href: '/docs/api/' },
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'API Reference', href: '/docs/api' },
|
||||
{ label: 'Generations' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/generation/',
|
||||
href: '/docs/generation',
|
||||
title: 'Image Generation Guide',
|
||||
description: 'Concepts and examples for image generation.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api/images/',
|
||||
href: '/docs/api/images',
|
||||
title: 'Images API',
|
||||
description: 'Upload and manage images.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -45,21 +45,21 @@ export default function ImagesAPIPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'API Reference', href: '/docs/api/' },
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'API Reference', href: '/docs/api' },
|
||||
{ label: 'Images' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/images/',
|
||||
href: '/docs/images',
|
||||
title: 'Working with Images Guide',
|
||||
description: 'Concepts and examples for image management.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api/generations/',
|
||||
href: '/docs/api/generations',
|
||||
title: 'Generations API',
|
||||
description: 'Create AI-generated images.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -46,21 +46,21 @@ export default function LiveScopesAPIPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'API Reference', href: '/docs/api/' },
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'API Reference', href: '/docs/api' },
|
||||
{ label: 'Live Scopes' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/live-urls/',
|
||||
href: '/docs/live-urls',
|
||||
title: 'Live URLs Guide',
|
||||
description: 'Learn about live URL generation.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api/generations/',
|
||||
href: '/docs/api/generations',
|
||||
title: 'Generations API',
|
||||
description: 'Full control via the generations API.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -44,20 +44,20 @@ export default function APIOverviewPage() {
|
|||
<JsonLd data={API_REFERENCE_SCHEMA} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'API Reference' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/api/generations/',
|
||||
href: '/docs/api/generations',
|
||||
title: 'Generations API',
|
||||
description: 'Create and manage image generations.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api/images/',
|
||||
href: '/docs/api/images',
|
||||
title: 'Images API',
|
||||
description: 'Upload and organize images.',
|
||||
accent: 'secondary',
|
||||
|
|
@ -97,7 +97,7 @@ export default function APIOverviewPage() {
|
|||
/>
|
||||
|
||||
<p className="text-gray-300 leading-relaxed mt-6">
|
||||
See <a href="/docs/authentication/" className="text-purple-400 hover:underline">Authentication</a> for details on obtaining and using API keys.
|
||||
See <a href="/docs/authentication" className="text-purple-400 hover:underline">Authentication</a> for details on obtaining and using API keys.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
|
@ -227,25 +227,25 @@ export default function APIOverviewPage() {
|
|||
|
||||
<LinkCardGrid columns={2}>
|
||||
<LinkCard
|
||||
href="/docs/api/generations/"
|
||||
href="/docs/api/generations"
|
||||
title="Generations"
|
||||
description="Create and manage AI image generations"
|
||||
accent="primary"
|
||||
/>
|
||||
<LinkCard
|
||||
href="/docs/api/images/"
|
||||
href="/docs/api/images"
|
||||
title="Images"
|
||||
description="Upload and organize images"
|
||||
accent="secondary"
|
||||
/>
|
||||
<LinkCard
|
||||
href="/docs/api/flows/"
|
||||
href="/docs/api/flows"
|
||||
title="Flows"
|
||||
description="Manage generation chains"
|
||||
accent="primary"
|
||||
/>
|
||||
<LinkCard
|
||||
href="/docs/api/live-scopes/"
|
||||
href="/docs/api/live-scopes"
|
||||
title="Live Scopes"
|
||||
description="Control live URL generation"
|
||||
accent="secondary"
|
||||
|
|
|
|||
|
|
@ -38,20 +38,20 @@ export default function AuthenticationPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'Authentication' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/generation/',
|
||||
href: '/docs/generation',
|
||||
title: 'Start Generating',
|
||||
description: 'Create your first AI-generated image.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api/',
|
||||
href: '/docs/api',
|
||||
title: 'API Reference',
|
||||
description: 'Full endpoint documentation.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -42,20 +42,20 @@ export default function GenerationPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'Image Generation' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/api/generations/',
|
||||
href: '/docs/api/generations',
|
||||
title: 'API Reference: Generations',
|
||||
description: 'Full endpoint documentation for generations.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/images/',
|
||||
href: '/docs/images',
|
||||
title: 'Working with Images',
|
||||
description: 'Upload your own images and organize with aliases.',
|
||||
accent: 'secondary',
|
||||
|
|
@ -214,7 +214,7 @@ export default function GenerationPage() {
|
|||
|
||||
<div className="mt-6">
|
||||
<TipBox variant="compact" type="info">
|
||||
<strong>Pro Tip:</strong> Use aliases like <InlineCode>@logo</InlineCode> instead of UUIDs. See <a href="/docs/images/" className="text-purple-400 hover:underline">Working with Images</a> to learn about aliases.
|
||||
<strong>Pro Tip:</strong> Use aliases like <InlineCode>@logo</InlineCode> instead of UUIDs. See <a href="/docs/images" className="text-purple-400 hover:underline">Working with Images</a> to learn about aliases.
|
||||
</TipBox>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -40,20 +40,20 @@ export default function ImagesPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'Working with Images' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/api/images/',
|
||||
href: '/docs/api/images',
|
||||
title: 'API Reference: Images',
|
||||
description: 'Full endpoint documentation for images.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/generation/',
|
||||
href: '/docs/generation',
|
||||
title: 'Image Generation',
|
||||
description: 'Use your images as references in generations.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import { ApiKeyProvider } from '@/components/shared/ApiKeyWidget/apikey-context'
|
|||
import { PageProvider } from '@/contexts/page-context';
|
||||
|
||||
const navItems = [
|
||||
{ label: 'API', href: '/docs/' },
|
||||
{ label: 'API', href: '/docs' },
|
||||
{ label: 'SDK', href: '#', disabled: true },
|
||||
{ label: 'MCP', href: '#', disabled: true },
|
||||
{ label: 'CLI', href: '#', disabled: true },
|
||||
|
|
|
|||
|
|
@ -42,20 +42,20 @@ export default function LiveUrlsPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'Live URLs' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/api/live-scopes/',
|
||||
href: '/docs/api/live-scopes',
|
||||
title: 'API Reference: Live Scopes',
|
||||
description: 'Manage scopes and generation limits.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/generation/',
|
||||
href: '/docs/generation',
|
||||
title: 'Image Generation',
|
||||
description: 'Full control via the generations API.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -41,32 +41,32 @@ export default function GettingStartedPage() {
|
|||
<JsonLd data={HOW_TO_SCHEMA} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'Getting Started' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/generation/',
|
||||
href: '/docs/generation',
|
||||
title: 'Image Generation',
|
||||
description: 'Aspect ratios, prompt templates, using references.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/images/',
|
||||
href: '/docs/images',
|
||||
title: 'Working with Images',
|
||||
description: 'Upload your own, organize with aliases.',
|
||||
accent: 'secondary',
|
||||
},
|
||||
{
|
||||
href: '/docs/live-urls/',
|
||||
href: '/docs/live-urls',
|
||||
title: 'Live URLs',
|
||||
description: 'Generate images directly from URL parameters.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api/',
|
||||
href: '/docs/api',
|
||||
title: 'API Reference',
|
||||
description: 'Full endpoint documentation.',
|
||||
accent: 'secondary',
|
||||
|
|
@ -186,7 +186,7 @@ export default function GettingStartedPage() {
|
|||
</TipBox>
|
||||
|
||||
<p className="text-gray-300 leading-relaxed mt-6">
|
||||
<a href="/docs/live-urls/" className="text-purple-400 hover:underline">Learn more about Live URLs →</a>
|
||||
<a href="/docs/live-urls" className="text-purple-400 hover:underline">Learn more about Live URLs →</a>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
|
|
@ -12,62 +12,62 @@ export default function sitemap(): MetadataRoute.Sitemap {
|
|||
},
|
||||
// Documentation - Guides
|
||||
{
|
||||
url: `${baseUrl}/docs/`,
|
||||
url: `${baseUrl}/docs`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.9,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/generation/`,
|
||||
url: `${baseUrl}/docs/generation`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/images/`,
|
||||
url: `${baseUrl}/docs/images`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/live-urls/`,
|
||||
url: `${baseUrl}/docs/live-urls`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/authentication/`,
|
||||
url: `${baseUrl}/docs/authentication`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
// Documentation - API Reference
|
||||
{
|
||||
url: `${baseUrl}/docs/api/`,
|
||||
url: `${baseUrl}/docs/api`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/api/generations/`,
|
||||
url: `${baseUrl}/docs/api/generations`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.7,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/api/images/`,
|
||||
url: `${baseUrl}/docs/api/images`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.7,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/api/flows/`,
|
||||
url: `${baseUrl}/docs/api/flows`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.7,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/api/live-scopes/`,
|
||||
url: `${baseUrl}/docs/api/live-scopes`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.7,
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ export const EmptyGalleryState = () => {
|
|||
</p>
|
||||
|
||||
<Link
|
||||
href="/demo/tti/"
|
||||
href="/demo/tti"
|
||||
className="inline-block px-8 py-4 rounded-xl bg-gradient-to-r from-amber-600 to-orange-600 text-white font-semibold hover:from-amber-500 hover:to-orange-500 transition-all shadow-lg shadow-amber-900/30 focus:outline-none focus:ring-2 focus:ring-amber-500 focus:ring-offset-2 focus:ring-offset-slate-950 min-h-[44px]"
|
||||
>
|
||||
Generate Images
|
||||
|
|
|
|||
|
|
@ -40,33 +40,33 @@ interface DocsSidebarProps {
|
|||
const navigationItems: NavItem[] = [
|
||||
{
|
||||
label: 'Getting Started',
|
||||
href: '/docs/',
|
||||
href: '/docs',
|
||||
},
|
||||
{
|
||||
label: 'Image Generation',
|
||||
href: '/docs/generation/',
|
||||
href: '/docs/generation',
|
||||
},
|
||||
{
|
||||
label: 'Working with Images',
|
||||
href: '/docs/images/',
|
||||
href: '/docs/images',
|
||||
},
|
||||
{
|
||||
label: 'Live URLs',
|
||||
href: '/docs/live-urls/',
|
||||
href: '/docs/live-urls',
|
||||
},
|
||||
{
|
||||
label: 'Authentication',
|
||||
href: '/docs/authentication/',
|
||||
href: '/docs/authentication',
|
||||
},
|
||||
{
|
||||
label: 'API Reference',
|
||||
href: '/docs/api/',
|
||||
href: '/docs/api',
|
||||
children: [
|
||||
{ label: 'Overview', href: '/docs/api/' },
|
||||
{ label: 'Generations', href: '/docs/api/generations/' },
|
||||
{ label: 'Images', href: '/docs/api/images/' },
|
||||
{ label: 'Flows', href: '/docs/api/flows/' },
|
||||
{ label: 'Live Scopes', href: '/docs/api/live-scopes/' },
|
||||
{ label: 'Overview', href: '/docs/api' },
|
||||
{ label: 'Generations', href: '/docs/api/generations' },
|
||||
{ label: 'Images', href: '/docs/api/images' },
|
||||
{ label: 'Flows', href: '/docs/api/flows' },
|
||||
{ label: 'Live Scopes', href: '/docs/api/live-scopes' },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
'use client';
|
||||
|
||||
import Image from 'next/image';
|
||||
import { footerLinks, footerCopyright } from '@/config/footer';
|
||||
import { /* footerLinks, */ footerCopyright } from '@/config/footer';
|
||||
|
||||
export const Footer = () => {
|
||||
return (
|
||||
|
|
@ -20,6 +20,7 @@ export const Footer = () => {
|
|||
/>
|
||||
</div>
|
||||
|
||||
{/* Navigation - hidden until sections are ready
|
||||
<nav aria-label="Footer navigation">
|
||||
<div className="grid grid-cols-2 gap-x-4 gap-y-3 sm:flex sm:flex-wrap sm:justify-center sm:gap-6 md:gap-8 text-sm text-gray-400">
|
||||
{footerLinks.map((link) => (
|
||||
|
|
@ -33,6 +34,7 @@ export const Footer = () => {
|
|||
))}
|
||||
</div>
|
||||
</nav>
|
||||
*/}
|
||||
</div>
|
||||
|
||||
<div className="mt-8 md:mt-10 text-center text-sm text-gray-500">
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
export const footerLinks = [
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'API Reference', href: '/docs/api/' },
|
||||
{ label: 'Documentation', href: '#' },
|
||||
{ label: 'API Reference', href: '#' },
|
||||
{ label: 'Pricing', href: '#' },
|
||||
{ label: 'Contact', href: '#' },
|
||||
];
|
||||
|
|
|
|||
Loading…
Reference in New Issue