@@ -19,6 +19,7 @@ interface Props {
1919 version : string
2020 versions : ProjectDetails [ ]
2121 onVersionChange : ( version : string ) => void
22+ getShareUrl : ( options : { useLatest : boolean , hideUi : boolean } ) => string
2223}
2324
2425export default function DocumentControlButtons ( props : Props ) : React . JSX . Element {
@@ -31,25 +32,6 @@ export default function DocumentControlButtons(props: Props): React.JSX.Element
3132 // Cannot copy when page is served over HTTP
3233 const canCopy = navigator . clipboard !== undefined
3334
34- const getShareUrl = ( ) : string => {
35- // adapt the current URL so we can leave Docs.tsx's state as refs
36- // (which means if the page was passed down as a prop it wouldn't update correctly)
37-
38- let url = window . location . href
39-
40- if ( shareModalUseLatest ) {
41- url = url . replace ( props . version , 'latest' )
42- }
43-
44- if ( shareModalHideUi ) {
45- const urlObject = new URL ( url )
46- urlObject . search = 'hide-ui'
47- url = urlObject . toString ( )
48- }
49-
50- return url
51- }
52-
5335 return (
5436 < div className = { styles . controls } >
5537 < Tooltip title = "Docs Overview" placement = "top" arrow >
@@ -111,14 +93,14 @@ export default function DocumentControlButtons(props: Props): React.JSX.Element
11193 >
11294 < div className = { styles [ 'share-modal' ] } >
11395 < div className = { styles [ 'share-modal-link-container' ] } >
114- < p className = { styles [ 'share-modal-link' ] } > { getShareUrl ( ) } </ p >
96+ < p className = { styles [ 'share-modal-link' ] } > { props . getShareUrl ( { useLatest : shareModalUseLatest , hideUi : shareModalHideUi } ) } </ p >
11597 { canCopy && (
11698 < div className = { styles [ 'share-modal-copy-container' ] } >
11799 < button
118100 className = { styles [ 'share-modal-copy' ] }
119101 onClick = { ( ) => {
120102 void ( async ( ) => {
121- await navigator . clipboard . writeText ( getShareUrl ( ) )
103+ await navigator . clipboard . writeText ( props . getShareUrl ( { useLatest : shareModalUseLatest , hideUi : shareModalHideUi } ) )
122104 } ) ( )
123105 } }
124106 >
0 commit comments