mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-07-14 16:46:07 +00:00
df3ba568d1
The docs site and the component workbench were entirely disconnected. The Pages deploy now builds the frontend Storybook and bundles it into the artifact under /storybook, so the live component reference ships with the documentation, and the navbar links to it. Story changes trigger a redeploy so the published workbench cannot go stale.
67 lines
1.9 KiB
TypeScript
67 lines
1.9 KiB
TypeScript
import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared';
|
|
import { Heart } from 'lucide-react';
|
|
import { Logo } from '@/components/logo';
|
|
import { TelegramIcon } from '@/components/icons';
|
|
import { appName, productRepoUrl, telegramChannel, telegramChannelUrl, donateUrl, siteUrl } from './shared';
|
|
import { getSiteMessages } from './site-i18n';
|
|
|
|
// Build locale-aware shared layout options. With `hideLocale: 'default-locale'`,
|
|
// English URLs have no prefix while other locales are prefixed (`/fa`, `/ru`, `/zh`).
|
|
export function baseOptions(lang: string): BaseLayoutProps {
|
|
const prefix = lang === 'en' ? '' : `/${lang}`;
|
|
const m = getSiteMessages(lang);
|
|
|
|
return {
|
|
nav: {
|
|
title: (
|
|
<span className="inline-flex items-center gap-2 font-semibold">
|
|
<Logo className="h-6" />
|
|
{appName}
|
|
</span>
|
|
),
|
|
url: `${prefix}/`,
|
|
},
|
|
githubUrl: productRepoUrl,
|
|
links: [
|
|
{
|
|
text: m.documentation,
|
|
url: `${prefix}/docs`,
|
|
active: 'nested-url',
|
|
},
|
|
// Live component workbench built from frontend/ and published alongside the docs.
|
|
{
|
|
text: 'Storybook',
|
|
url: `${siteUrl}/storybook/`,
|
|
external: true,
|
|
},
|
|
{
|
|
type: 'icon',
|
|
label: `Telegram channel (@${telegramChannel})`,
|
|
icon: <TelegramIcon />,
|
|
text: 'Telegram',
|
|
url: telegramChannelUrl,
|
|
external: true,
|
|
},
|
|
// Compact heart icon in the top nav bars (home + docs).
|
|
{
|
|
type: 'icon',
|
|
on: 'nav',
|
|
label: m.donate,
|
|
icon: <Heart />,
|
|
text: m.donate,
|
|
url: donateUrl,
|
|
external: true,
|
|
},
|
|
// Prominent labelled entry in the docs sidebar / mobile menu.
|
|
{
|
|
type: 'main',
|
|
on: 'menu',
|
|
icon: <Heart />,
|
|
text: m.donate,
|
|
url: donateUrl,
|
|
external: true,
|
|
},
|
|
],
|
|
};
|
|
}
|