refactor: update MDX link handling and improve document formatting

- Removed the custom link component in MDX and replaced it with standard anchor tags for external links.
- Updated offer and privacy policy documents to use environment variables for dynamic URLs instead of custom components.
- Improved formatting for better readability in the offer and privacy policy sections.
This commit is contained in:
vchikalkin 2025-10-14 16:16:30 +03:00
parent 2df80c90f6
commit 6a0d34d37b
3 changed files with 13 additions and 42 deletions

View File

@ -1,4 +1,3 @@
import { OfferLink, SupportLink } from '@/components/documents/links';
import { env } from '@/config/env'; import { env } from '@/config/env';
export const metadata = { export const metadata = {
@ -12,7 +11,7 @@ export const metadata = {
#### 1. Термины и определения #### 1. Термины и определения
1.1. Оферта — настоящий документ, постоянно размещенный в сети Интернет по адресу <OfferLink />. 1.1. Оферта — настоящий документ, постоянно размещенный в сети Интернет по адресу <a href={env.OFFER_URL}>{env.OFFER_URL}</a>.
1.2. Акцепт — полное и безоговорочное принятие условий Оферты Пользователем путем оплаты доступа через встроенный платежный бот ЮKassa в Telegram. 1.2. Акцепт — полное и безоговорочное принятие условий Оферты Пользователем путем оплаты доступа через встроенный платежный бот ЮKassa в Telegram.
@ -99,4 +98,4 @@ export const metadata = {
Если у Вас есть вопросы по настоящему договору публичной оферты персональных данных, пожалуйста, свяжитесь с Разработчиком: Если у Вас есть вопросы по настоящему договору публичной оферты персональных данных, пожалуйста, свяжитесь с Разработчиком:
- **Telegram:** <SupportLink/> - **Telegram:** <a href={env.SUPPORT_TELEGRAM_URL}>{env.SUPPORT_TELEGRAM_URL}</a>

View File

@ -1,4 +1,3 @@
import { SupportLink } from '@/components/documents/links';
import { env } from '@/config/env'; import { env } from '@/config/env';
export const metadata = { export const metadata = {
@ -134,4 +133,4 @@ export const metadata = {
Если у Вас есть вопросы по Политике конфиденциальности или запросы в отношении персональных данных, пожалуйста, свяжитесь с Разработчиком: Если у Вас есть вопросы по Политике конфиденциальности или запросы в отношении персональных данных, пожалуйста, свяжитесь с Разработчиком:
- **Telegram:** <SupportLink/> - **Telegram:** <a href={env.SUPPORT_TELEGRAM_URL}>{env.SUPPORT_TELEGRAM_URL}</a>

View File

@ -1,39 +1,12 @@
import { type MDXComponents } from 'mdx/types'; import { type MDXComponents } from 'mdx/types';
import Link from 'next/link';
/** // This file allows you to provide custom React components
* Этот объект определяет, какие React-компоненты // to be used in MDX files. You can import and use any
* будут использоваться для рендеринга MDX-тегов (<a>, <h1>, <p> и т.д.) // React component you want, including inline styles,
* и какие кастомные компоненты будут доступны прямо в MDX. // components from other libraries, and more.
*/
const components: MDXComponents = { const components = {} satisfies MDXComponents;
// 🔗 Заменяем стандартные <a> на <Link> Next.js
a: ({ children, href = '', ...props }) => { export function useMDXComponents(): MDXComponents {
// внутренние ссылки → через <Link> return components;
if (href.startsWith('/')) {
return (
<Link href={href} {...props}>
{children}
</Link>
);
}
// внешние ссылки → target="_blank"
return (
<a href={href} rel="noopener noreferrer" target="_blank" {...props}>
{children}
</a>
);
},
};
/**
* Эта функция вызывается автоматически при рендере MDX.
* Через неё Next.js App Router объединяет глобальные и локальные MDX-компоненты.
*/
export function useMDXComponents(componentsArgument: MDXComponents): MDXComponents {
return {
...components,
...componentsArgument, // позволяет переопределять внутри MDX
};
} }