From 6a0d34d37bc338bcf530ff346b319f5853ca0fe5 Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Tue, 14 Oct 2025 16:16:30 +0300 Subject: [PATCH] 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. --- apps/web/app/(documents)/offer/page.mdx | 11 +++--- apps/web/app/(documents)/privacy/page.mdx | 3 +- apps/web/mdx-components.tsx | 41 ++++------------------- 3 files changed, 13 insertions(+), 42 deletions(-) diff --git a/apps/web/app/(documents)/offer/page.mdx b/apps/web/app/(documents)/offer/page.mdx index cb737a7..01d0d1a 100644 --- a/apps/web/app/(documents)/offer/page.mdx +++ b/apps/web/app/(documents)/offer/page.mdx @@ -1,4 +1,3 @@ -import { OfferLink, SupportLink } from '@/components/documents/links'; import { env } from '@/config/env'; export const metadata = { @@ -12,7 +11,7 @@ export const metadata = { #### 1. Термины и определения -1.1. Оферта — настоящий документ, постоянно размещенный в сети Интернет по адресу . +1.1. Оферта — настоящий документ, постоянно размещенный в сети Интернет по адресу {env.OFFER_URL}. 1.2. Акцепт — полное и безоговорочное принятие условий Оферты Пользователем путем оплаты доступа через встроенный платежный бот ЮKassa в Telegram. @@ -63,15 +62,15 @@ export const metadata = { - предоставлять достоверную информацию при оплате и использовании Сервиса; - при добавлении контактов других лиц (например, клиентов, мастеров) гарантировать, что у него есть согласие этих лиц на передачу и обработку их персональных данных в рамках Сервиса; -5.2. Администрация обязуется: + 5.2. Администрация обязуется: - обеспечивать бесперебойную работу Сервиса, за исключением периодов технического обслуживания; - обрабатывать персональные данные Пользователей в соответствии с Политикой конфиденциальности; - принимать обращения и запросы Пользователей по вопросам работы Сервиса. 6. Ответственность сторон; -6.1. Сервис предоставляется «как есть». Администрация не несёт ответственности за временные сбои, потерю данных или недоступность Сервиса, возникшие по причинам, не зависящим от неё. + 6.1. Сервис предоставляется «как есть». Администрация не несёт ответственности за временные сбои, потерю данных или недоступность Сервиса, возникшие по причинам, не зависящим от неё. -6.2. Пользователь несёт полную ответственность за корректность совершаемых платежей и действий, совершаемых через свой Telegram-аккаунт. + 6.2. Пользователь несёт полную ответственность за корректность совершаемых платежей и действий, совершаемых через свой Telegram-аккаунт. #### 7. Обработка персональных данных @@ -99,4 +98,4 @@ export const metadata = { Если у Вас есть вопросы по настоящему договору публичной оферты персональных данных, пожалуйста, свяжитесь с Разработчиком: -- **Telegram:** +- **Telegram:** {env.SUPPORT_TELEGRAM_URL} diff --git a/apps/web/app/(documents)/privacy/page.mdx b/apps/web/app/(documents)/privacy/page.mdx index d9661b9..8348601 100644 --- a/apps/web/app/(documents)/privacy/page.mdx +++ b/apps/web/app/(documents)/privacy/page.mdx @@ -1,4 +1,3 @@ -import { SupportLink } from '@/components/documents/links'; import { env } from '@/config/env'; export const metadata = { @@ -134,4 +133,4 @@ export const metadata = { Если у Вас есть вопросы по Политике конфиденциальности или запросы в отношении персональных данных, пожалуйста, свяжитесь с Разработчиком: -- **Telegram:** +- **Telegram:** {env.SUPPORT_TELEGRAM_URL} diff --git a/apps/web/mdx-components.tsx b/apps/web/mdx-components.tsx index 2671759..93a368d 100644 --- a/apps/web/mdx-components.tsx +++ b/apps/web/mdx-components.tsx @@ -1,39 +1,12 @@ import { type MDXComponents } from 'mdx/types'; -import Link from 'next/link'; -/** - * Этот объект определяет, какие React-компоненты - * будут использоваться для рендеринга MDX-тегов (,

,

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