mirror of
https://github.com/rustdesk/doc.rustdesk.com.git
synced 2026-07-13 02:04:26 +00:00
66 lines
1.6 KiB
Plaintext
66 lines
1.6 KiB
Plaintext
---
|
|
import Layout from '~/layouts/Layout.astro';
|
|
import Header from '~/components/widgets/Header.astro';
|
|
import Footer, { type Props as FD } from '~/components/widgets/Footer.astro';
|
|
import Announcement from '~/components/widgets/Announcement.astro';
|
|
|
|
import { headerData, footerData } from '~/navigation';
|
|
|
|
import type { MetaData } from '~/types';
|
|
import type { Lang, LocalePath } from '@/i18n';
|
|
|
|
export interface Props {
|
|
metadata?: MetaData;
|
|
i18n?: boolean;
|
|
lang?: Lang;
|
|
localePaths?: LocalePath[];
|
|
alternateLinks?: LocalePath[];
|
|
structuredDataType?: 'website' | 'article' | 'software' | 'faq';
|
|
articleData?: {
|
|
title: string;
|
|
description?: string;
|
|
image?: string;
|
|
publishDate?: Date;
|
|
updateDate?: Date;
|
|
author?: string;
|
|
category?: string;
|
|
};
|
|
faqItems?: Array<{ question: string; answer: string }>;
|
|
}
|
|
|
|
const { metadata, i18n, lang, localePaths, alternateLinks, structuredDataType, articleData, faqItems } = Astro.props;
|
|
const locale = lang || (Astro.currentLocale as Lang);
|
|
---
|
|
|
|
<Layout
|
|
metadata={metadata}
|
|
i18n={i18n}
|
|
lang={locale}
|
|
localePaths={localePaths}
|
|
alternateLinks={alternateLinks}
|
|
structuredDataType={structuredDataType}
|
|
articleData={articleData}
|
|
faqItems={faqItems}
|
|
>
|
|
<slot name="announcement">
|
|
<Announcement lang={locale} />
|
|
</slot>
|
|
<slot name="header">
|
|
<Header
|
|
{...headerData(locale)}
|
|
isSticky
|
|
showGithubStar
|
|
showToggleTheme
|
|
i18n={i18n}
|
|
lang={locale}
|
|
localePaths={localePaths}
|
|
/>
|
|
</slot>
|
|
<main>
|
|
<slot />
|
|
</main>
|
|
<slot name="footer">
|
|
<Footer {...footerData(locale) as FD} />
|
|
</slot>
|
|
</Layout>
|