Skip to content

Commit ae85ed2

Browse files
committed
Update GuideDocsPage to use iframe
1 parent dc72a08 commit ae85ed2

File tree

1 file changed

+43
-16
lines changed

1 file changed

+43
-16
lines changed
Lines changed: 43 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,45 @@
11
import { PageWithHeader } from '@backstage/core-components';
2-
import { TechDocsReaderPageContent } from '@backstage/plugin-techdocs';
3-
import { TechDocsReaderPageProvider } from '@backstage/plugin-techdocs-react';
4-
import React from 'react';
2+
import React, { useLayoutEffect, useState } from 'react';
53

6-
export const DeveloperGuidePage = () => (
7-
<PageWithHeader title="Developer Guide" themeId="documentation">
8-
<TechDocsReaderPageProvider
9-
entityRef={{
10-
kind: 'component',
11-
namespace: 'default',
12-
name: 'developer-guide',
13-
}}
14-
>
15-
<TechDocsReaderPageContent />
16-
</TechDocsReaderPageProvider>
17-
</PageWithHeader>
18-
);
4+
export const DeveloperGuidePage = () => {
5+
const DEFAULT_HEADER_HEIGHT = 85;
6+
const DEFAULT_SIDEBAR_WIDTH = 220;
7+
const [offsets, setOffsets] = useState({ top: DEFAULT_HEADER_HEIGHT, left: DEFAULT_SIDEBAR_WIDTH });
8+
9+
useLayoutEffect(() => {
10+
function updateOffsets() {
11+
const header = document.querySelector('[data-testid="app-header"]');
12+
const sidebar = document.querySelector('[data-testid="sidebar"]');
13+
14+
const top = header ? (header as HTMLElement).offsetHeight : DEFAULT_HEADER_HEIGHT;
15+
const left = sidebar ? (sidebar as HTMLElement).offsetWidth : DEFAULT_SIDEBAR_WIDTH;
16+
17+
setOffsets({ top, left });
18+
}
19+
20+
updateOffsets();
21+
22+
window.addEventListener('resize', updateOffsets);
23+
return () => window.removeEventListener('resize', updateOffsets);
24+
}, []);
25+
26+
return (
27+
<PageWithHeader title="Developer Guide" themeId="documentation">
28+
<div
29+
style={{
30+
position: 'fixed',
31+
top: offsets.top,
32+
left: offsets.left,
33+
right: 0,
34+
bottom: 0,
35+
}}
36+
>
37+
<iframe
38+
src="https://dev-guide.diamond.ac.uk"
39+
title="Embedded Docs"
40+
style={{ border: 'none', width: '100%', height: '100%' }}
41+
/>
42+
</div>
43+
</PageWithHeader>
44+
);
45+
};

0 commit comments

Comments
 (0)