1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-04-21 12:17:20 +02:00

84 lines
3.3 KiB
JavaScript
Raw Normal View History

2024-10-09 20:52:28 +03:00
import React, { useEffect } from 'react';
import Layout from '@theme-original/Layout';
import Head from '@docusaurus/Head';
export default function CustomLayout(props) {
useEffect(() => {
2024-10-09 21:17:02 +03:00
// Создаем обертку для блока Яндекса под правым меню
const wrapperRightMenu = document.createElement('div');
2024-10-09 22:02:02 +03:00
wrapperRightMenu.style.height = '350px'; // Устанавливаем высоту обертки
2024-10-09 21:17:02 +03:00
wrapperRightMenu.style.marginTop = '20px'; // Добавляем отступ сверху
2024-10-09 20:52:28 +03:00
2024-10-09 21:17:02 +03:00
// Создаем <div> для блока Яндекса под правым меню
const adDivRightMenu = document.createElement('div');
adDivRightMenu.id = 'yandex_rtb_R-A-12294791-2';
2024-10-09 22:02:02 +03:00
adDivRightMenu.style.width = '350px';
2024-10-09 21:17:02 +03:00
// Добавляем рекламный блок в обертку
wrapperRightMenu.appendChild(adDivRightMenu);
// Находим правое меню и вставляем обертку под ним
const rightMenu = document.querySelector('.theme-doc-toc-desktop');
if (rightMenu) {
2024-10-09 21:43:52 +03:00
rightMenu.style.width = '350px'; // Задайте желаемую ширину
2024-10-09 21:17:02 +03:00
rightMenu.parentNode.appendChild(wrapperRightMenu);
}
// Создаем обертку для блока Яндекса над подвалом
const wrapperAboveFooter = document.createElement('div');
wrapperAboveFooter.style.height = '200px'; // Устанавливаем высоту обертки
// Создаем <div> для блока Яндекса над подвалом
const adDivAboveFooter = document.createElement('div');
adDivAboveFooter.id = 'yandex_rtb_R-A-12294791-1';
// Добавляем рекламный блок в обертку
wrapperAboveFooter.appendChild(adDivAboveFooter);
// Находим элемент подвала и вставляем обертку перед ним
const footer = document.querySelector('footer');
if (footer) {
footer.parentNode.insertBefore(wrapperAboveFooter, footer);
} else {
// Если подвал не найден, добавляем в конец body как резервный вариант
document.body.appendChild(wrapperAboveFooter);
}
// Добавляем скрипт для отображения рекламы для каждого блока
2024-10-09 20:52:28 +03:00
const script = document.createElement('script');
script.innerHTML = `
window.yaContextCb.push(() => {
2024-10-09 21:17:02 +03:00
Ya.Context.AdvManager.render({
blockId: "R-A-12294791-2",
renderTo: "yandex_rtb_R-A-12294791-2",
type: "feed"
});
2024-10-09 20:52:28 +03:00
Ya.Context.AdvManager.render({
blockId: "R-A-12294791-1",
renderTo: "yandex_rtb_R-A-12294791-1",
type: "feed"
});
});
`;
document.body.appendChild(script);
// Удаляем элементы при размонтировании компонента
return () => {
2024-10-09 21:17:02 +03:00
wrapperRightMenu.remove();
wrapperAboveFooter.remove();
script.remove();
2024-10-09 20:52:28 +03:00
};
}, []);
return (
<>
<Head>
<script>
window.yaContextCb = window.yaContextCb || [];
</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>
</Head>
<Layout {...props} />
</>
);
}